我有一个Qt程序正在使用QtConcurrent API来生成工作线程。我遇到的问题是,即使我退出Qt应用程序,工作线程也会继续运行。
我的菜单中有一个actionExit,这是我用来关闭应用程序或窗口角落的“X”。有没有办法让这些杀死与这个应用程序相关的所有线程?
由于
答案 0 :(得分:6)
您确定UI应用程序确实关闭了吗?你可能会失踪:
qApp->setQuitOnLastWindowClosed(true);
否则QT只会隐藏你的窗口。调试把断点放在你的后面
mainWindow->exec();
并查看是否真的达到了。
如果你确认exec()返回并且QTConcurrent真的挂起(可能是http://lists.trolltech.com/qt-interest/2008-06/thread00414-0.html),那么执行:
exit(0);