我有以下Qt代码:
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
ChoosingDialog cdlg;
if(!startWin.exec())
{
// nothing chosen
return 0;
}
if(cdlg.firstWindowSelected)
{
CFirstWindow win;
win.show();
return app.exec();
}
else
{
CSecondWindow win;
win.show();
return app.exec();
}
}
这似乎有效,但它在某些asm行中给出了“事件调度程序清理”的错误。我尝试了一下,我发现问题与app.exec()调用有关。
更新: 如果我将这些行添加到ChoosingDialog(这是一个由Qt Creator自动生成的简单空白类)
void ChoosingDialog ::closeEvent(QCloseEvent *)
{
exit(1);
}
我没有收到任何错误
答案 0 :(得分:0)
原来我在QApplication之前使用了“singleapplication”类..并且共享内存锁出了问题。
一旦我重新启动系统,异常消失了... bof ..你相信魔法吗?