在每个应用程序的事件循环迭代上执行槽
如何在应用程序事件循环的每次迭代中调用我的槽? 我知道的唯一方法是使用 QTimer,并且在每次超时(每毫秒)信号时我可以调用我的插槽。 但我不喜欢这个选项,它看起来像是解决方法。
有什么建议如何更正确地做到这一点?
How can I call my slot on every iteration of application's event loop?
Only way I know is to use QTimer and on every timeout (every millisecond) signal I can call my slot.
But I don't like this option, it looks like workaround.
Any suggestions how to do this more correctly?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
来自 Qt 4.7 QCoreApplication::exec() 文档:
所以你的方法就是规定的。查看 QCoreApplication::processEvents() 以获取对事件循环的更多控制。
From the Qt 4.7 QCoreApplication::exec() documentation:
So your approach is what is prescribed. Look at QCoreApplication::processEvents() for more control over the event loop.
您还可以查看在 QCoreApplication::instance() 对象上使用 installEventFilter 方法。这将允许您在应用程序中的所有小部件处理所有事件之前访问它们。
You could also take a look at using the installEventFilter method on QCoreApplication::instance() object. This would allow you access to ALL events before they were processed for all widgets in your application.