在执行很长的操作之前,我正在调用QProgressDialog
以通知用户执行进度。长操作正在等待线程终止。
问题是,当我使用show
的方法时QProgressDialog
,进度对话框没有完全构建,线程进入线程的wait
方法,如下图所示:
同时,当我使用exec
的方法时QProgressDialog
,进度对话框已完全构建,但在wait
退出进度对话框之前不会调用该方法,如您在此处看到的:
这是我正在使用的代码:
auto dialog = new QProgressDialog();
dialog->setWindowTitle("Wait");
dialog->setLabelText("Aborting optimization");
dialog->resize(100, 30);
dialog->show();
optimizerUi->terminate();
optimizerUi->wait();
dialog->hide();
在线程落入wait
方法之前,我有什么方法可以等待或强制完全构建进度对话框,这需要相当长的时间并阻塞主线程?谢谢你的任何建议。