私は現在、PyGTK から PySide に小さなアプリケーションを移植しています。これはシステム トレイにあり、定期的にサーバーの更新をチェックします。
これを最初に書いたとき、カスタム状態モデルを使用してその動作を表現しました。
- init: 初期状態
- check: サーバーの更新を確認します
- disconnected: サーバーに接続されていません (しばらく待ってから再試行してください)
- エラー: サーバーがエラーを報告しました (ユーザーは続行する前に設定を確認する必要があります)
- アイドル: POLLING INTERVAL 秒待機してから、再度チェックします
- 終了する
その後、Qt には QStateMachine があり、このタイプの構造に最適と思われることを発見しました。しかし、私の問題に満足のいく例を適用することができませんでした!
特に:
- QStateMachine のコンテキストでは、Signal と QEvent の違いは何ですか?
- 条件付き遷移を定義するにはどうすればよいですか。つまり、エラーが発生した場合に ... に移動しますか?
- プログラム ロジックは Transition.onTransition() または QState.onEnter() で発生する必要がありますか?
どんなポインタでも大歓迎です!