2012-05-11 35 views
0

我想實現的是當用戶按下按鈕時,我想顯示最初隱藏的QLabel。但是,在那個按鈕上,我已經分配了一次重型掃描,這需要大約2-3分鐘的驅動掃描。 QLabel僅在掃描完成後纔出現,我如何在點擊按鈕後顯示它,而不是在完成所有操作後才顯示。pyqt4 python QLabel顯示何時按下按鈕

的代碼

self.label_3.hide() 
... 
self.pushButton.clicked.connect(self._btn_cb) 
...  
def _btn_cb(self): 
    self.label_3.show() # here is the show code 
    for filename in find_files("C://images//", '*.png'): # took roughly 2-3 minutes 
     print filename 

我很新的蟒蛇,謝謝你幫助我

+0

爲什麼你問問題並刪除它?這很煩人,我寫了一個答案,你刪除了這個問題! ><! – gdoron

回答

1

你只需要添加一個調用

QApplication.instance().processEvents() 

你打電話.show()上剛過你的標籤。這將強制Qt在它移動到代碼的其餘部分之前處理隊列中的事件(顯示標籤)。

請確保您在代碼開始時從QtGui導入QApplication

from PyQt4.QtGui import QApplication 
+0

非常好,謝謝! – cicakman