我有理由在循环中使用 QProgressDialog,我希望对话框弹出并等待用户输入,然后再显示对话框。但是,在第二次循环中,对话框在开始正确更新之前保持不露面。这是一些示例代码:
QProgressDialog progressDialog("progress", "Cancel",
0, 10000);
progressDialog.setMinimumDuration(0);
progressDialog.setWindowModality(Qt::WindowModal);
while(1) {
progressDialog.show();
progressDialog.setValue(0);
qApp->processEvents();
getchar();
for(unsigned int i = 0; i < 10000; i++)
progressDialog.setValue(i+1);
}
第一次它显示对话框中的所有小部件,但第二次显示,什么都没有。如果我在循环内移动 QProgressDialog 声明,也会发生同样的事情。每次通过循环等待用户输入时,如何让它显示所有小部件,为什么它不在上面的代码中这样做?