如何监控Qt主队列长度?

tin*_*ime 5 c++ qt qt5

有没有一种干净的方法来检查 Qt 主应用程序队列的当前大小?由于我发出了相当多的信号,因此我想监视在 Ui 线程上处理插槽时有多大的延迟。

例如,之后:

emit Signal();
emit Signal();
emit Signal();
Run Code Online (Sandbox Code Playgroud)

我希望能够调用这样的函数,它会告诉我还有多少信号需要处理。

QApplication::checkQueueSize();
Run Code Online (Sandbox Code Playgroud)

Huy*_*Huy 0

您可能已经知道 QAbstractEventDispatcher 中有 QApplication::hasPendingEvents()。

这是针对 Qt4 的,但快速查看 Qt5 源代码后,它看起来仍然不可用:

如何拦截QT中给定事件发出的所有信号?