0

我想要实现的是当用户按下按钮时,我想显示最初隐藏的 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很陌生,谢谢你帮助我

4

1 回答 1

1

你只需要添加一个调用

QApplication.instance().processEvents()

就在你打电话.show()给你的标签之后。这将强制 Qt 在继续处理其余代码之前处理队列中的事件(显示标签)。

QApplication确保从代码开始处导入QtGui

from PyQt4.QtGui import QApplication
于 2012-05-15T15:21:19.607 回答