Qt窗口程序所有窗口关闭后进程不退出
Qt窗口程序在所有窗口关闭,Application对象的exec函数返回,main函数结束。程序结束,进程退出。
如何实现关闭依然不退出,调用QApplication的函数==setQuitOnLastWindowClosed(false)==即可。
在每一个窗口关闭后,Application会检查关闭的窗口是否为最后一个窗口,如果是最后一个窗口,则调用quit()函数。结束exec的消息循环。调用setQuitOnLastWindowClosed为false,则不调用quit函数。
// 代码段
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
a.setQuitOnLastWindowClosed(false);//最后一个窗口关闭后,程序不退出
MainWindow w;
w.show();
return a.exec();
}
当Qt窗口程序的所有窗口关闭时,通常会退出。通过设置QApplication的setQuitOnLastWindowClosed(false),可以防止在最后一个窗口关闭后调用quit()函数,进而阻止程序退出,保持消息循环运行。
3198

被折叠的 条评论
为什么被折叠?



