0

我想在 MainWindow 出现之后出现一个 Modal QDialog(使用 exec())。

我试图调用 exec MainWindow::showEvent ( QShowEvent * event )但它仍然在 MainWindow 出现之前显示。

知道如何做到这一点吗?

谢谢。

4

1 回答 1

3

问题是您showEvent()没有返回,因为exec()是阻塞调用。

我建议您改用QDialog::open()它,它会打开一个模态对话框,但它是一个非阻塞函数调用。因此:

MainWindow::showEvent( QShowEvent* )
{
    launchWidget->open();
}

请注意,调用时程序的正常执行将继续open()

于 2012-04-25T19:42:03.303 回答