2012-05-11 3 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 

내가, 파이썬에 아주 새로운 오전 당신은 당신이에 .show()를 호출 한 직후

QApplication.instance().processEvents() 

에 전화를 추가 할 필요가 저에게

+0

왜 질문하고 삭제합니까? 그것은 성가신 나는 대답을 썼다 그리고 당신은 질문을 삭제! > gdoron

답변

1

를 도와 주셔서 감사합니다 당신의 레이블. 이렇게하면 Qt가 나머지 코드로 이동하기 전에 대기열에있는 이벤트 (라벨 표시)를 처리하게됩니다.

코드 시작 부분에 QApplicationQtGui에서 가져 오기하십시오.

from PyQt4.QtGui import QApplication 
+0

훌륭합니다, 감사합니다! – cicakman