Qt界面关闭主窗口,若其Qdialog弹框没有关闭,程序无法退出
2018-03-14 16:46
1136 查看
Qt界面关闭主窗口,若其Qdialog弹框没有关闭,程序无法退出
需要在主窗口设置属性:Qt::WA_QuitOnClose
将主窗口属性设置为:
fm.setAttribute(Qt::WA_QuitOnClose,true);Qt::WA_QuitOnClose属性是使窗口如果是最后一个关闭的时候触发事件lastWindowClosed();
然后主程序收到事件退出
所以现在要把别的窗口的Qt::WA_QuitOnClose设为false。如Qdialog的弹出框。
需要在主窗口设置属性:Qt::WA_QuitOnClose
将主窗口属性设置为:
fm.setAttribute(Qt::WA_QuitOnClose,true);Qt::WA_QuitOnClose属性是使窗口如果是最后一个关闭的时候触发事件lastWindowClosed();
然后主程序收到事件退出
a.connect( &a, SIGNAL( lastWindowClosed() ), &a, SLOT( quit() ) );现在问题是自己定义的子窗口打开的时候,它们默认Qt::WA_QuitOnClose也是true,所以如果主窗口关闭的时候有别的窗口开着,(除了一些暂时性的窗口——如启动界面、工具窗口、弹出菜单)程序还是不会退出,而是等到最后一个窗口关闭之后才退出。
所以现在要把别的窗口的Qt::WA_QuitOnClose设为false。如Qdialog的弹出框。
XX.setAttribute(Qt::WA_QuitOnClose,false);这样关闭主窗口的时候,主程序就会退出,其他窗口也会关闭。
相关文章推荐
- 在Fragment中点击退出按钮,退出到登录界面后(按返回键退出程序开始的时候,退出到登录界面按返回键无法退出程序,而是返回到上一个Activity,网上说是没有finish掉上一个Activity)
- 用QT编写的程序,怎样在申请资源失败后,关闭所有窗口,退出程序?
- Android 下Qt 多层窗口关闭时程序退出的问题 解决
- QT 应用程序关闭某个窗口时,关闭打开的所有其他窗口并退出程序
- 用QT编写的程序,怎样在申请资源失败后,关闭所有窗口,退出程序?
- QT 窗口关闭 程序进程不退出
- QT 应用程序关闭某个窗口时,关闭打开的所有其他窗口并退出程序 【转】
- 关于程序退出无法关闭所有界面问题 通过广播使Android程序完全退出
- MFC 用户界面线程:界面线程的退出 窗口关闭的流程
- VC中如何关闭窗口退出程序?
- 使用Qt编辑关闭窗口程序的一些见解(ZZ)
- 关于VB 6 中 DoEvents 导致主窗体关闭后程序无法退出的分析
- 使用Qt编辑关闭窗口程序的一些见解
- C#窗体程序,当窗口关闭后,进程无法关闭解决方法
- 关于VTK+QT在关闭程序后进程无法结束的问题
- 开发的一个android程序,总是显示无法运行,就退出了。但是没有报错。求大神解救啊!
- 最简单解决 Ubuntu 16.* 在基于 Qt 为界面的程序中无法输入中文(Latex\Pycharm)
- 无法关闭的QT程序
- 使用Qt编辑关闭窗口程序的一些见解
- 程序关闭进程没有退出的问题