2013-03-21 69 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聲明,也會發生同樣的情況。我怎樣才能在每次通過循環等待用戶輸入的同時顯示所有小部件,爲什麼不在上面的代碼中這樣做呢?

回答