本经验文章介绍一下,如何解决 QWidget Must construct a QApplication before a QWidget 这个问题
工具/原料
- QT
- 电脑
方法/步骤
- 1
1,有些QT写的PC程序在运行的时候,会弹出下图所示的错误提示框

- 2
2、原因是因为,在点击程序的关闭的时候,有其它的窗口没有关闭,再次打开造成的,如下图所示,可能的原因是程序启动后,在任务栏在两个图标

- 3
3、如下图所示,用鼠标点击关闭其中一个窗口,另一个窗口并没有关闭

- 4
4、当你再次打开同一个程序的时候就会出现
QWidget Must construct a QApplication before a QWidget
这种错误的弹框了

- 5
5、解决这个问题,也非常简单,只需要要在窗口关闭的时候,检测并关闭另一个窗口就可以了,可以通过调用其它窗口的close函数关闭就可以了

- 6
6、还有一个比较简单的方法就是在关闭窗口的时候,直接调用下面两个函数之一,就可以关闭所有的窗口
QApplication::quit();
QApplication::exit();


注意事项
- 仅供个人学习参考
- 感谢阅读本经验,祝您生活愉快







