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. Qt信号/スロットをネットワーク経由で実行する方法はありますか?
- 3. QTの信号とスロット
- 4. 信号とスロット、Qtのデザインパターン?
- 5. Qtの別のスレッドでスロットに信号を送る方法
- 6. Qtでのモデル信号 - スロット接続
- 7. Qtはboost :: shared_ptrの信号とスロットを接続します
- 8. Qtスロットと信号。スロットレシーバオブジェクトを取得
- 9. qt、信号スロットが接続されていませんか?
- 10. Qtのネットワーク上の信号/スロットのメカニズム
- 11. Qt 5.7プロデューサー/コンシューマーの信号/スロット
- 12. QtのQMLスロットへのC++信号
- 13. フォーム間のQt信号とスロット
- 14. Qtの転送信号/スロット接続
- 15. Qt - 2つのクラスの信号とスロット
- 16. すべてのQt信号/スロット接続を確認する
- 17. Qt信号/スロット:一時オブジェクトから信号を放出するのはエラーですか?
- 18. のQt:スタイルに関する信号/スロットは、
- 19. Qtでは、 "singleClicked"のような信号がありますか?
- 20. Qt C++ 11ラムダ:この接続(信号スロット)は正しいですか?
- 21. QTの別のスロットにあるスロットから変数を使用する方法
- 22. QT信号とスロットを視覚化する
- 23. 信号とスロットの接続でアスタリスクとは何ですか? PythonのはQtで
- 24. Qtでより少ないパラメータでスロットに信号を接続できますか?
- 25. 失敗した信号/スロット接続をデバッグする方法は?
- 26. Qt質問:信号とスロットはどのように機能しますか?
- 27. 信号とスロットを異なる引数で接続する方法は? Qtので
- 28. Qt:信号をあまりにも速く送信するとどうなりますか?
- 29. QT C++ - 信号とスロット:SLOT関数がクラスにもありますが、 "このようなスロットはありません..."
- 30. ブースト信号2の信号伝播を例外なくキャンセルする方法はありますか?
信号を送信するスレッドでスロットを呼び出すようにしますか?もしそうなら、それがスレッドセーフであることを確認して、それが呼び出すすべてのものもスレッドセーフです!特に、GUIのものはすべてメインスレッドで行わなければなりません! – hyde