5

Qt のメイン アプリケーション キューの現在のサイズを確認するクリーンな方法はありますか? かなりの量のシグナルを発しているので、Ui スレッドのスロットの処理にどれだけの遅延があるかを監視したいと思います。

たとえば、次の場合:

emit Signal();
emit Signal();
emit Signal();

このようなものを呼び出すことができると期待しています。これにより、まだ処理されていないシグナルがいくつあるかがわかります。

QApplication::checkQueueSize();
4

3 に答える 3

2

フォローアップとして、代わりにキューを介してレイテンシーを測定できるソリューションを使用することにしました。複数の人が指摘したように、キューのサイズを確認する実際のユースケースはありません。

「シグナルを送信する」前からスロットが呼び出された後までのタイムスタンプをマッピングすることで、これを実装しました。

于 2013-06-18T21:51:23.480 に答える
0

おそらく、QAbstractEventDispatcher からの QApplication::hasPendingEvents() があることはすでにご存じでしょう。

これは Qt4 用ですが、Qt5 のソースをざっと見てみると、まだ利用できないようです。

QTで特定のイベントによって放出されたすべてのシグナルを傍受する方法は?

于 2013-06-17T18:54:10.920 に答える