私は作業しているソースコードを掘り下げていました。私は誰かがコード化したという独特の声明を見つけました。ソースコードは、QML GUIを備えたGUIアプリケーションであり、QT 4.7.xを使用します。QObjectベースのクラスは、自分自身へのキューに接続されています
以下のスニペットは、コアアプリケーションロジックに属しています。
// connect signal-slots for decoupling
QObject::connect (this, SIGNAL(setCurrentTaskSignal(int)), this,
SLOT(SetCurrentTaskSlot(int)), Qt::QueuedConnection);
これは、オブジェクトが、基本的にオブジェクトが同時に異なるスレッドで「生きる」ことを意味キューに入れられた接続を介して自身に接続されていることを奇妙ですか?
一見私には意味がありませんでした。なぜこのような接続が妥当か必要かという何らかの理由を考える人はいますか?これは機能するでしょうか?
意味があります。私はまだコードを取り巻くものを見ています。だから、私は何が起きているのか分かりました。 –
これは、何らかの計算を実行している間にタスク変更信号が出力され、すぐには「変更」が起こらないように見えますが、現在のフローが実行されてイベント処理が再開した後です。 –