当前位置: 首页 > news >正文

PyQt5 解决弹窗后快捷键失效问题

importsysfromPyQt5.QtWidgetsimportQApplication,QMainWindow,QMenuBar,QMenu,QAction,QMessageBoxfromPyQt5.QtCoreimportQt,QEvent,QTimerclassMainWindow(QMainWindow):def__init__(self):super().__init__()self.setWindowTitle("菜单快捷键焦点保持解决方案")self.setGeometry(100,100,600,400)# 创建菜单栏menubar=self.menuBar()# 文件菜单file_menu=menubar.addMenu("&文件")action_open=QAction("&打开弹窗1",self)action_open.setShortcut("Ctrl+O")action_open.triggered.connect(self.show_dialog1)file_menu.addAction(action_open)# 编辑菜单edit_menu=menubar.addMenu("&编辑")action_copy=QAction("&打开弹窗2",self)action_copy.setShortcut("Ctrl+C")action_copy.triggered.connect(self.show_dialog2)edit_menu.addAction(action_copy)defevent(self,event):# 阻止窗口失焦事件ifevent.type()==QEvent.WindowDeactivate:event.ignore()# 忽略失焦事件returnTrue# 表示事件已处理returnsuper().event(event)defshow_dialog1(self):self._show_dialog("弹窗1","按 Ctrl+O 触发的弹窗")defshow_dialog2(self):self._show_dialog("弹窗2","按 Ctrl+C 触发的弹窗")def_show_dialog(self,title,text):msg=QMessageBox(self)msg.setWindowTitle(title)msg.setText(text)msg.setStandardButtons(QMessageBox.Ok)msg.setWindowModality(Qt.NonModal)# 使用非模态对话框msg.show()# 关键:延迟恢复主窗口焦点QTimer.singleShot(50,self._restore_focus)def_restore_focus(self):"""恢复主窗口焦点并激活"""self.activateWindow()self.setFocus()if__name__=="__main__":app=QApplication(sys.argv)window=MainWindow()window.show()sys.exit(app.exec_())
http://www.cnnetsun.cn/news/485549.html

相关文章:

  • 小白也能学会!2024-2025年RAG系统高精度实现指南,企业级应用必备收藏
  • RAG(检索增强生成)架构与原理:告别LLM“幻觉”的秘密武器
  • 【接口测试】2_Dubbo接口 _Dubbo接口测试
  • 【计算机视觉CV:目标检测】--1.目标检测简介
  • mysql SQL子查询(史上最详细)
  • Thinkphp和Laravel框架的网上购书图书销售商城系统网站的设计与实现_55ap4swk
  • 强烈安利8个AI论文网站,MBA论文写作必备!
  • Linux系统下安装配置 Nginx 超详细图文教程_linux安装nginx
  • 第1-2章 数据分析流程及Numpy科学计算
  • 大模型产品求职避坑指南:从入门到Offer,建议收藏
  • Java高级开发进阶教程之系列
  • Katalon平台的集成生态
  • 深度学习计算机毕设之基于python深度学习的苹果和西红柿识别
  • 深度学习计算机毕设之基于python深度学习的道路坑洼识别机器学习
  • 深度解读:AI应用架构师与AI驱动预算管理的融合
  • 深度学习毕设项目推荐- python基于python-cnn深度学习的罗马数据集训练识别
  • 限时公开!8款AI论文神器爆火,1天搞定全文告别熬夜!
  • 深度学习毕设项目:基于python深度学习的苹果和西红柿识别
  • 牙齿拥挤数据集3206张yolo
  • Java进阶教程(二)代码块
  • 【毕业设计】深度学习基于CNN卷积神经网络对猫狗数据集训练识别
  • 深度学习计算机毕设之人工智能基于CNN卷积神经网络对猫狗数据集训练识别
  • 从入门到精通:AI Agent六大核心模块深度解析
  • Flutter 列表 rebuild 的真正边界在哪里
  • AI创业已变天!Manus首席科学家带你重新理解Agent与产品思维
  • java头歌-数组进阶
  • 手写一个单例模式 (考虑线程安全)。
  • IDEA搭建SpringBoot,MyBatis,Mysql工程项目
  • CSDN(中国软件开发网)作为中国领先的IT技术交流平台,每年都会基于社区活跃度、开发者关注热点
  • 深度学习毕设项目推荐-深度学习基于python的CNN训练识别吃的美食基于python的深度学习CNN训练识别吃的美食