我有一個應用程序,使用20個不同的類。程序執行在mainwindow中開始。我開始一個進度對話框。我會利用不同的課程來達到不同的目的。在執行到特定類的每個函數調用並執行所需並返回到mainwindow類之後,我將更新進度對話框。現在,問題是當執行遠離主窗口類時進度對話框凍結。取消按鈕無法訪問,因此,執行不能在需要的時間停止。QT進度對話框取消按鈕不突出
mainclass :: mainclass() {
ProgressDialog-> EXEC();
x->add();
updateProgressDialog();
y->do();
updateProgressDialog();
zz->bring();
updateProgressDialog();
}
//的x,y,z是三個不同的類。
這就是執行過程。只要我在主類中輸入函數,我就會啓動進度對話框。並從不同類別調用函數。這些功能需要相當長的時間。我已經調用了一個線程來執行執行部分,但我無法取消進度對話框。我希望在proggress對話框上按下取消按鈕時停止程序執行。
請讓我知道如何擺脫這個問題。希望我在這裏清楚。
你提到你調用一個線程來完成執行一部分。這是否意味着X->添加(),Y> do()和zz-bring()交給一個線程並立即返回? – 2010-08-16 21:39:02