2013-03-21 70 views
1

我有理由在循环中使用QProgressDialog,并且希望在显示对话框之前弹出对话框并等待用户输入。但是,通过循环第二次,该对话框在开始正确更新之前保持不显示。下面是一些示例代码: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声明,也会发生同样的情况。我怎样才能在每次通过循环等待用户输入的同时显示所有小部件,为什么不在上面的代码中这样做呢?

回答