Qtでは、複数のスレッドが 'emit'を使用して多数の信号を送信すると、トリガーが非常に遅くなります。キューイングのメカニズムがあるようです。回線上の信号スロットをすばやくトリガーする良い方法はありますか?Qtで信号スロットをすばやくトリガする良い方法はありますか?
0
A
答えて
1
お問い合わせの内容はQt::DirectConnection
となります。スロットがすぐに呼び出されるようにするには、connect()
に指定する必要があります。
それが使用される:シグナルが発せられる場合
スロットが直ちに呼び出されます。スロットはシグナリングスレッドで実行されます。
それ以外の場合、デフォルトのQt方法はQt::AutoConnection
と呼ばれます。
信号を送信するスレッドに受信機が存在する場合は、Qt :: DirectConnectionが使用されます。それ以外の場合は、Qt :: QueuedConnectionが使用されます。接続タイプは、信号が放射されるときに決定されます。
あなたはconnect()
に接続の種類を指定することができます。
QMetaObject::Connection QObject::connect(const QObject *sender, const
char *signal, const QObject *receiver, const char *method,
Qt::ConnectionType type = Qt::AutoConnection)
これら二つとどのように使用するhereであるとの違いについては非常に良い答えを。
関連する問題
- 1. Qt - トリガされたアクションで信号/スロットを接続する
- 2. オーディオ信号にゼロローカル信号を得る良い方法はありますか?
- 3. Qt信号/スロットをネットワーク経由で実行する方法はありますか?
- 4. QTの信号とスロット
- 5. 信号とスロット、Qtのデザインパターン?
- 6. Qtスロットと信号:MainWindowのマッチング機能がありません
- 7. Qtの別のスレッドでスロットに信号を送る方法
- 8. Qt C++信号スロット - 信号をクリアするために必要ですか?
- 9. Qtでのモデル信号 - スロット接続
- 10. Qtはboost :: shared_ptrの信号とスロットを接続します
- 11. Qtスロットと信号。スロットレシーバオブジェクトを取得
- 12. qt、信号スロットが接続されていませんか?
- 13. Qtの転送信号/スロット接続
- 14. Qt 5.7プロデューサー/コンシューマーの信号/スロット
- 15. QtのQMLスロットへのC++信号
- 16. Qt - 2つのクラスの信号とスロット
- 17. フォーム間のQt信号とスロット
- 18. Qt C++用の信号とスロット
- 19. Qtのネットワーク上の信号/スロットのメカニズム
- 20. すべてのQt信号/スロット接続を確認する
- 21. Qt信号/スロット:一時オブジェクトから信号を放出するのはエラーですか?
- 22. のQt:スタイルに関する信号/スロットは、
- 23. Qtでは、 "singleClicked"のような信号がありますか?
- 24. Qt C++ 11ラムダ:この接続(信号スロット)は正しいですか?
- 25. QTの別のスロットにあるスロットから変数を使用する方法
- 26. QT信号とスロットを視覚化する
- 27. 信号とスロットの接続でアスタリスクとは何ですか? PythonのはQtで
- 28. Qt Designerはどこに信号をスロット接続に保存しますか?
- 29. Qtでより少ないパラメータでスロットに信号を接続できますか?
- 30. 失敗した信号/スロット接続をデバッグする方法は?
信号を送信するスレッドでスロットを呼び出すようにしますか?もしそうなら、それがスレッドセーフであることを確認して、それが呼び出すすべてのものもスレッドセーフです!特に、GUIのものはすべてメインスレッドで行わなければなりません! – hyde