当前位置: 首页 > 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.jsqmd.com/news/212215/

相关文章:

  • 【必收藏】突破传统RAG瓶颈:Deep Thinking RAG架构详解与实战指南
  • 基于(SVM-RFE-BP)支持向量机递归特征消除特征选择算法结合BP神经网络多变量回归预测(多输入单输出)
  • 若依工作流模型管理模块 - 需求分析+设计文档+接口文档
  • [独家原创]CPO-VMD-KPCA-CPO-LSTM单变量时序预测 (单输入单输出) matlab代码
  • AI大模型产品经理6个月速成路线图:4大学习阶段+12个实战项目+30+学习资源,薪资涨幅超60%!
  • AI应用架构实战:上下文工程的数据预处理
  • 自然语言处理(NLP)核心知识体系
  • [原创]基于VMD-SE-LSTM+Transformer多变量时序预测 Matlab代码
  • 当RGB技术遇到高端视听:东芝电视在2026 CES展现对“感官真实”的极致追求
  • Activiti工作流模型部署全解析(附实战代码)
  • Matlab 基于蜣螂算法优化高斯过程回归(DBO-GPR)的数据多变量回归预测+交叉验证 (多输入单输出)
  • 查询指定任务的办理时间轴
  • Matlab 基于蚁群算法优化高斯过程回归(ACO-GPR)的数据多变量回归预测+交叉验证 (多输入单输出)
  • 通过`exclude`排除冲突的Security自动配置类,解决Activiti与若依权限体系的兼容性问题;
  • Thinkphp和Laravel框架的流浪猫领养系统_ct8whxh8
  • MYSQL 创建索引
  • MySql 8.0安装教程(windows系统),全网最详细的教程
  • Tailwind CSS:告别传统CSS,拥抱原子化开发新时代
  • RK3576基于UVC协议USB摄像头配置指南,手把手教你搞定
  • 性能指标笔记
  • Thinkphp和Laravel框架的海关出入口货物报关统筹管理系统_szdhjj06
  • ubuntu系统_每天定时23:00 定时关机_怎么实现
  • HTML 表单元素与 React 中的其他 DOM 元素有所不同
  • 2026年最好用的六大代理IP服务商推荐:IPIDEA、Decodo、Smartproxy、IPRoyal、SOAX、Oxylabs
  • indirectly_readable和indirectly_writable这两个核心概念的具体定义和使用场景是什么?
  • 数据库分片和分区
  • 超绝好用清理软件工具,(附下载方式)超多好用功能
  • 何为Transformer 架构?
  • HiBit Uninstaller全攻略:轻量无广,彻底告别软件残留(附下载方式)
  • 电阻的基础知识