如何在应用程序事件循环的每次迭代中调用我的插槽? 我所知道的唯一方法就是使用QTimer,并且每次超时(每毫秒)信号都可以调用我的插槽。 但我不喜欢这个选项,看起来像是解决方法。
有关如何更正确地执行此操作的任何建议吗?
答案 0 :(得分:3)
来自Qt 4.7 QCoreApplication :: exec()文档:
使您的应用程序执行空闲 处理(即执行特殊处理) 只要没有待处理的功能 事件),使用QTimer与0超时。 更先进的空闲处理方案 可以使用processEvents()实现。
所以你的方法就是规定的。查看QCoreApplication :: processEvents()以获得对事件循环的更多控制。
答案 1 :(得分:0)
您还可以查看在QCoreApplication :: instance()对象上使用installEventFilter方法。这将允许您在处理应用程序中所有窗口小部件之前访问所有事件。