PyQt5窗口关闭问题---关闭主程序的窗口但子窗口仍显示的问题
使用PyQt5做界面开发时,如果做一个较复杂的程序时往往会涉及到在主程序中打开某个菜单弹出子窗口的问题,如果在打开很多子窗口的时候想一键退出关闭主窗口,但其它的子窗口仍然正常显示着,那么如何在代码中进行处理关闭主程序时所有关联的子窗口也一并关闭掉,下面就介绍方法,主要是对PyQt5的 closeEvent 方法进行重写即可
将该closeEvent方法重写在主界面的类中
1 def closeEvent(self, event): 2 """重写该方法主要是解决打开子窗口时,如果关闭了主窗口但子窗口仍显示的问题,使用sys.exit(0) 时就会只要关闭了主窗口,所有关联的子窗口也会全部关闭""" 3 sys.exit(0)
然后运行时只要你通过窗口右上角的关闭按钮,或者是菜单中的退出按钮(按钮事先已经绑定了槽函数self.close),这样只要你打开了再多的子窗口,这时在主界面中退出或者关闭都会将所有子窗口随主界面的关闭而关闭了
标签:
PyQt5
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?