3

如何在应用程序事件循环的每次迭代中调用我的插槽?我知道的唯一方法是使用 QTimer 并且在每个超时(每毫秒)信号上我都可以调用我的插槽。但我不喜欢这个选项,它看起来像解决方法。

任何建议如何更正确地做到这一点?

4

2 回答 2

3

从 Qt 4.7 QCoreApplication::exec() 文档:

要让您的应用程序执行空闲处理(即在没有未决事件时执行特殊功能),请使用具有 0 超时的 QTimer。使用 processEvents() 可以实现更高级的空闲处理方案。

所以你的方法是规定的。查看 QCoreApplication::processEvents() 以获得对事件循环的更多控制。

于 2011-02-26T15:40:02.533 回答
0

您还可以查看在 QCoreApplication::instance() 对象上使用 installEventFilter 方法。这将允许您在应用程序中的所有小部件处理它们之前访问所有事件。

于 2011-05-10T15:10:07.203 回答