Qt State Machine 概要

ステート・マシン・フレームワークは、ステート・グラフの作成と実行のためのクラスを提供する。この概念と表記法は、Harel'sStatecharts に基づいている:これはUMLステート・ダイアグラムの基礎でもある。ステートマシン実行のセマンティクスは、ステートチャートXML(SCXML)に基づいている。

ステートチャートは、システムが刺激にどのように反応するかをモデリングするグラフィカルな方法を提供します。これは、システムが取り得る状態と、システムがある状態から別の状態に移行する方法状態間の遷移)を定義することによって行われます。イベント駆動型システム(Qtアプリケーションなど)の主な特徴は、動作が最後のイベントや現在のイベントだけでなく、それ以前のイベントにも依存することが多いということです。ステートチャートを使えば、この情報を簡単に表現できる。

State Machine フレームワークは、ステートチャートの要素とセマンティクスを Qt アプリケーションに効果的に組み込むために使用できる API と実行モデルを提供します。このフレームワークは、Qt のメタオブジェクトシステムと緊密に統合されています。例えば、ステート間の遷移はシグナルによってトリガーすることができ、ステートはプロパティを設定したり {QObject} のメソッドを呼び出したりするように設定することができます。Qtのイベントシステムは、ステートマシンを駆動するために使用されます。

ステートマシン・フレームワークのステートグラフは階層的です。ステートマシンの現在のコンフィギュレーションは、現在アクティブなステートのセットで構成されます。ステートマシンの有効な構成に含まれるすべての状態は、共通の祖先を持ちます。

Qt State Machine C++ガイドQt State Machine QMLガイドQt SCXML 概要も参照してください

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.