Qt 主窗口出现后的Exec()QDialog
我想在主窗口自身出现之后,显示一个模态QDialog(带有exec()) 我试图在Qt 主窗口出现后的Exec()QDialog,qt,qdialog,qmainwindow,Qt,Qdialog,Qmainwindow,我想在主窗口自身出现之后,显示一个模态QDialog(带有exec()) 我试图在MainWindow::showEvent(QShowEvent*event)中调用exec,但它仍然在主窗口出现之前显示 你知道怎样才能做到这一点吗 thx 问题是您的showEvent()没有返回,因为exec()是一个阻塞调用 我建议您改用QDialog::open(),它会打开一个模式对话框,但是一个非阻塞函数调用。因此: MainWindow::showEvent( QShowEvent* ) {
MainWindow::showEvent(QShowEvent*event)
中调用exec,但它仍然在主窗口出现之前显示
你知道怎样才能做到这一点吗
thx 问题是您的
showEvent()
没有返回,因为exec()
是一个阻塞调用
我建议您改用QDialog::open()
,它会打开一个模式对话框,但是一个非阻塞函数调用。因此:
MainWindow::showEvent( QShowEvent* )
{
launchWidget->open();
}
请注意,调用
open()
时,程序将继续正常执行。问题是,由于exec()
是一个阻塞调用,因此您的showEvent()
不会返回
我建议您改用QDialog::open()
,它会打开一个模式对话框,但是一个非阻塞函数调用。因此:
MainWindow::showEvent( QShowEvent* )
{
launchWidget->open();
}
请注意,调用showEvent实现中的代码是什么?
QMainWindow::showEvent(事件)代码>然后launchwidget->exec()代码>showEvent实现中的代码是什么?QMainWindow::showEvent(事件)代码>然后launchwidget->exec()代码>是的,但它不是默认的模态,请点击Thx快速回答!是的,但是它不是默认的模态,谢谢你的快速回答!