出现MainWindow后的Exec()QDialog

时间:2012-04-25 19:24:16

标签: qt qdialog qmainwindow

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

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

任何想法怎么能实现这个?

THX。

1 个答案:

答案 0 :(得分:3)

问题是,由于showEvent()是阻止通话,因此exec()没有返回。

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

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

请注意,在调用open()

时,程序会正常执行