0

我有以下 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() 调用有关。

更新:如果我将这些行添加到选择对话框(这是一个由 Qt Creator 自动生成的简单空白类)

void ChoosingDialog ::closeEvent(QCloseEvent *)
{
    exit(1);
}

我没有收到任何错误

4

1 回答 1

0

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

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

于 2012-07-31T17:10:59.127 回答