如何使QtGui窗口在屏幕上提前处理事件?

2024-04-23 12:18:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为Python使用PyQt,并且正在构建一个gui。几周前,我遇到了一个问题,在gui模块之外有一个函数在修改gui中的小部件(高级进度条、更新字符串等),这些修改在完成更改的函数运行之前不会反映在gui中。

解决方法是在做了我想要的任何修改之后简单地调用app.processEvents(),这将立即更新窗口的图形。

但现在我在想,每次窗户被打开的时候,有没有办法做到这一点?

假设我调用了一个将要修改进度条的函数,但是这个函数需要相当长的时间才能运行。在调用函数和修改进度条之间,app不处理任何事件。所以,在这段时间里,我打开一个Chrome窗口(或其他任何窗口),然后关闭它,我的gui窗口是空白的,只是灰色的,直到再次调用app.processEvents()

是否有PyQt中的功能允许我检测何时将窗口置于所有当前窗口的前面?


Tags: 模块方法函数字符串进度条app图形部件