Skip to main content
 首页 » 编程设计

python之在设定的时间间隔内调用 QCoreApplications.processEvents() 安全吗

2025年05月04日25cloudgamer

我有一个用 PySide 编写的 Qt 应用程序(Qt Python 绑定(bind))。这个应用程序有一个 GUI 线程和许多不同的 QThreads,它们负责执行一些繁重的工作——一些相当长的任务。由于如此长的任务有时会卡住(通常是因为它正在等待服务器响应),因此应用程序有时会卡住。

因此,我想知道每秒左右“手动”调用QCoreApplication.processEvents() 是否安全,以便清除(处理)GUI 事件队列?这是个好主意吗?

请您参考如下方法:

随时调用 QCoreApplication.processEvents() 是安全的。 The docs明确说明您的用例:

You can call this function occasionally when your program is busy performing a long operation (e.g. copying a file).

虽然线程会阻塞主线程中的事件循环,但没有充分的理由。 (除非你的系统真的跟不上。)所以这无论如何都值得研究。