pyqt4 python QLabel显示单击按钮时

时间:2012-05-11 13:50:48

标签: python pyqt4

我想要实现的是当用户按下按钮时,我想显示最初隐藏的QLabel。然而,在那个按钮上我已经分配了一个重型扫描,这需要大约2-3分钟的驱动扫描。 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

我是python的新手,谢谢你的帮助

1 个答案:

答案 0 :(得分:1)

您只需要添加对

的调用
QApplication.instance().processEvents()

在您的标签上致电.show()之后。这将强制Qt处理队列中的事件(显示标签),然后再转移到其余代码。

确保在代码开头从QApplication导入QtGui

from PyQt4.QtGui import QApplication