1

そのオブジェクトを親として(オブジェクトが生きている間スレッドを生き続けるため)子(スレッドQObject)で(オブジェクト)を作成したかったのですが、この場合、スレッドを開始するシグナルが機能しません。QThreadobject.moveToThread(thread)

単に:

  1. オブジェクトはスレッドを所有しています
  2. オブジェクトはスレッドに移動します
  3. シグナル開始スレッドが機能していません

どうしたの?

4

1 に答える 1

1

[編集]:コメントのために私の最初の答えを捨てる

たぶん、次のようにします。

  1. オブジェクトを作成する
  2. スレッドを作成しますが、親を割り当てないでください
  3. スレッドのfinished()シグナルを通常どおりdeleteLater()スロットに接続します
  4. オブジェクトのdeleted()シグナルをスレッドのstop()スロットに接続します

次に、オブジェクトを削除すると、deleted()が発行され、スレッドが停止します。スレッドは、deleteLater()スロットを呼び出すfinished()を発行します。

于 2012-04-19T07:21:15.617 に答える