PyQt 的 show() 阻塞版本
我有一个相当CPU 密集型的应用程序,但所有CPU 密集型的东西都是通过单击QPushButton 启动的。单击该按钮时,会显示一个隐藏的 QLabel()n。
显然,show() 是非阻塞的。不幸的是,这意味着在标签 show() 启动之前,CPU 密集型的工作实际上已经完成了一半。
如何屏蔽节目?或者如何让标签在单击按钮时正确显示()?
相关代码:
def parseFile(self):
self.refreshLabel.show() #hidden by default
self.parse_triggered.emit()
parse_triggered导致父类调用parse()函数,这非常消耗CPU。
I've got a fairly cpu-intensive application, but all of the cpu-intensive stuff is started by clicking a QPushButton. When the button is clicked, a hidden QLabel is show()n.
Apparently, show() is non-blocking. Unfortunately, this means that the cpu-intensive stuff is practically half-done before the label show()s up.
How can I make show blocking? Or how can I make the label show() right when I click the button?
Relevant code:
def parseFile(self):
self.refreshLabel.show() #hidden by default
self.parse_triggered.emit()
parse_triggered causes the parent class to call the parse() function, which is pretty cpu-intensive.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尝试在调用
show
之后调用processEvents()
。Try calling
processEvents()
after the call toshow
.