添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

使用PyQt5做界面开发时,如果做一个较复杂的程序时往往会涉及到在主程序中打开某个菜单弹出子窗口的问题,如果在打开很多子窗口的时候想一键退出关闭主窗口,但其它的子窗口仍然正常显示着,那么如何在代码中进行处理关闭主程序时所有关联的子窗口也一并关闭掉,下面就介绍方法,主要是对PyQt5的 closeEvent 方法进行重写即可

将该closeEvent方法重写在主界面的类中

1     def closeEvent(self, event):
2         """重写该方法主要是解决打开子窗口时,如果关闭了主窗口但子窗口仍显示的问题,使用sys.exit(0) 时就会只要关闭了主窗口,所有关联的子窗口也会全部关闭"""
3         sys.exit(0)

然后运行时只要你通过窗口右上角的关闭按钮,或者是菜单中的退出按钮(按钮事先已经绑定了槽函数self.close),这样只要你打开了再多的子窗口,这时在主界面中退出或者关闭都会将所有子窗口随主界面的关闭而关闭了