我有一个基本标签,应该向用户表明程序正在搜索目录几秒钟.所以它就像......
self.label.setText(QString("Searching..."))
# method to search directories goes here
self.label.setText(QString("Search Complete"))
Run Code Online (Sandbox Code Playgroud)
我的问题是标签从不显示"正在搜索...".执行总是似乎直接跳转到运行扫描目录的方法,然后在扫描目录的方法完成后标签文本设置为"搜索完成".
如果有人能够解释为什么会这样,或者建议更好的方法来解决问题,我将不胜感激.
非常感谢
ism*_*ail 25
您的"搜索目录的方法"阻止了GUI,因此QLabel无法更新文本.您可以使您的搜索例程异步或简单方式并强制QLabel自行更新:
self.label.setText(QString("Searching..."))
self.label.repaint()
# method to search directories goes here
self.label.setText(QString("Search Complete"))
Run Code Online (Sandbox Code Playgroud)