0

私のアプリケーションでは、次の状況があります。

  • オブジェクトが信号を発するremoveCharacter
  • removeCharacterパートAとBがあり、パートAが完了した後、シグナルを発しますremovePath
  • スロットonRemovePathは信号に接続されてremovePathおり、キャラクターのパスを削除してから信号を発しますpathRemoved
  • スロットfinishRemovingCharacterは信号に接続されpathRemoved、残りの文字削除プロセスを終了します
  • シグナルfinishRemovingCharacterを発火するときに常にこのロジックを実行したくないremovePath

上記を達成するための一般的な方法はありますか?

編集:次のステップを実行できるように、完了した信号を送信する中間スロットを必要とする代わりに、信号とスロット処理のシーケンスを指定する一般的な方法があることを望んでいました。

4

1 に答える 1

1

私が見ているように、状況に対処する方法は2つしかありません。

オプション1:イベント
に2つのシグナルを使用しpathRemovedます。たとえば、finishRemovingCharacterに接続されていますが、に接続されてpathRemovedいませんpathRemovedSpecial

オプション2:信号
に適切な引数を追加し、スロットで続行するか、このイベントを無視するかを確認します。無視する場合は、単に。pathRemovedfinishRemovingCharacterreturn;

于 2013-02-16T10:21:35.363 に答える