Qt - 混淆了主要的QDialog选择

时间:2012-07-31 11:38:33

标签: c++ qt qt4 qdialog qtgui

我有以下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);
}

我没有收到任何错误

1 个答案:

答案 0 :(得分:0)

原来我在QApplication之前使用了“singleapplication”类..并且共享内存锁出了问题。

一旦我重新启动系统,异常消失了... bof ..你相信魔法吗?