信号の1つに複数のスロットが接続されたQObjectがあります。信号が放射されたときにこれらのスロットのそれぞれが呼び出される順序はありますか? QtをV4.5と以前にQObjectで呼び出されるスロットの順序
答えて
:いいえ、順序はthe documentation hereに見られるように定義されていない:
いくつかのスロットは、1つの信号に接続されている場合、スロットは、次々に実行され、信号が発せられたときに、任意の順序で送信する。
編集:バージョン4.6以降は、これはもう真実ではありません。これで、スロットは接続された順に実行されます。 the current documentationの関連段落:
いくつかのスロットは、一つの信号に接続されている場合、信号が
に放出される場合、スロットは、それらが接続されているために、次々に実行されますこれまでの注文は未定義ですが、すべてのQtバージョンでconnect()
の注文がありましたが、Qt::QueuedConnection
が使用されている場合を除き、emit
が返ってきたときにスロットがすべて実行されたことが保証されていません。しかし、依頼に依拠することはやはり推奨されていません。
Qtのドキュメントによれば、いくつかのスロットは、1つの 信号に接続されている場合
、スロットは信号 があるときに、接続されている ために、次々 を実行します放出される。それは信号/スロット接続の精神の両方を破り、あなたがしなければ望ましくない行動のための広いオープンあなたを離れるとスロットが実行されますどのような順序に依存
間違いありません。 Qtのバージョンによって異なります。 –
は、悪い、悪い考えです任意の種類のプログラムによる信号接続&スロット。
- 1. PHP ::: 2 AJAX呼び出し::: 2レスポンス:::順序順序で
- 2. valueOfが呼び出されたときの操作の順序
- 3. Silverlight。トリガーの呼び出し順序
- 4. Python関数の呼び出し順序
- 5. デストラクタの呼び出し順序とポイント
- 6. RxJava2補完可能なandThenオペレータで呼び出されるシーケンスの順序
- 7. グローバルなコンストラクタはどのような順序で呼び出されますか
- 8. ネイティブコンポーネントのライフサイクルメソッドが適切な順序で呼び出されない
- 9. JavaFxコントローラの開始順序 - 複数回呼び出されるデータベース
- 10. Swift:関数が間違った順序で呼び出されましたか?
- 11. UITableView cellForRowAtIndexPathが間違った順序で呼び出されました
- 12. Angular2:@Inputセッターを特定の順序で呼び出すには?
- 13. メソッドはランダムな順序で呼び出す(C#)
- 14. 値を返す同期された "呼び出し順序認識"メソッド
- 15. スレッド内で呼び出されたメソッドが予期しない順序で実行される(C#.net)
- 16. JavaScriptの関数が正しい順序で呼び出さない
- 17. 仮想継承のコンストラクタ呼び出しの順序は?
- 18. Moqメソッドの呼び出し順序の比較
- 19. GWT非同期呼び出しの実行順序の問題
- 20. のAjax APIの呼び出しは、順序
- 21. Sinon:テスト関数呼び出しとVARの変化の順序
- 22. なぜこのスロットは2回呼び出されるのですか?
- 23. サーブレットの呼び出し順序が失敗しました
- 24. C++と関数呼び出しの評価順序
- 25. 連鎖呼び出しコールの順序は、
- 26. ノードエクスプレス:呼び出しの順序は関係しますか?
- 27. シグナル/スロット対ダイレクト関数呼び出し
- 28. Go:レンジループの遅延が逆の順序で呼び出されるのはなぜですか?
- 29. HttpWebrequest呼び出し順序または未処理例外
- 30. 基本呼び出し順序規則をオーバーライドしますか?
@Hossein QTバージョン4.6までの私の答えは正しいです。質問の日付(と私の答え)を見ると、質問が出されたときに正解であったことがわかります。ヤロスラフの答えは1年後に掲載されたことに注意してください。 – sepp2k
申し訳ありません、私はあなたの投稿を過小評価するつもりはありませんでした。この質問は私がやったGoogle検索の最初の結果として現れたので、読者の混乱を招くことはもうありませんでした。 – Hossein
異なるスレッドでこれを実行するには、キュー接続を使用する必要があります。ただ言って。 – smsware