QAbstractTransition Class
QAbstractTransition クラスは、QAbstractState オブジェクト間のトランジションの基本クラスです。詳細...
ヘッダー | #include <QAbstractTransition> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS StateMachine) target_link_libraries(mytarget PRIVATE Qt6::StateMachine) |
qmake: | QT += statemachine |
を継承する: | QObject |
によって継承される: |
パブリックな型
enum | TransitionType { ExternalTransition, InternalTransition } |
プロパティ
- sourceState : QState* const
- targetState : QAbstractState*
- targetStates : QList<QAbstractState*>
- transitionType : TransitionType
パブリック機能
QAbstractTransition(QState *sourceState = nullptr) | |
virtual | ~QAbstractTransition() |
void | addAnimation(QAbstractAnimation *animation) |
QList<QAbstractAnimation *> | animations() const |
QBindable<QAbstractTransition::TransitionType> | bindableTransitionType() |
QStateMachine * | machine() const |
void | removeAnimation(QAbstractAnimation *animation) |
void | setTargetState(QAbstractState *target) |
void | setTargetStates(const QList<QAbstractState *> &targets) |
void | setTransitionType(QAbstractTransition::TransitionType type) |
QState * | sourceState() const |
QAbstractState * | targetState() const |
QList<QAbstractState *> | targetStates() const |
QAbstractTransition::TransitionType | transitionType() const |
シグナル
void | targetStateChanged() |
void | targetStatesChanged() |
void | triggered() |
プロテクト関数
virtual bool | eventTest(QEvent *event) = 0 |
virtual void | onTransition(QEvent *event) = 0 |
再実装されたプロテクト関数
virtual bool | event(QEvent *e) override |
詳細説明
QAbstractState QAbstractTransitionクラスは、QStateMachine 。 QAbstractTransitionはQt State Machine Frameworkの一部です。
sourceState() 関数は遷移元を返します。targetStates() 関数は、遷移のターゲットを返します。machine() 関数は、遷移が属するステートマシンを返します。
triggered() シグナルは、トランジションがトリガーされたときに出力されます。
トランジションは、アニメーションを再生させることができます。トランジションにアニメーションを追加するには、addAnimation ()関数を使用します。
サブクラス化
eventTest() 関数は、ステートマシンによって呼び出され、イベントがトランジションをトリガーするかどうかを決定します。再実装では、通常、イベント・タイプをチェックして、イベント・オブジェクトを適切なタイプにキャストし、イベントの 1 つ以上のプロパティが基準を満たしていることをチェックします。
onTransition ()関数は、トランジションがトリガーされたときに呼び出されます。この関数を再実装して、トランジションのカスタム処理を実行します。
メンバ型ドキュメント
enum QAbstractTransition::TransitionType
この列挙型はトランジションの種類を指定する。デフォルトでは、外部遷移です。
定数 | 値 | 説明 |
---|---|---|
QAbstractTransition::ExternalTransition | 0 | 遷移のソース状態である状態(ターゲットなしの遷移でない状態)はすべて残され、必要に応じて再入力される。 |
QAbstractTransition::InternalTransition | 1 | 遷移のターゲット状態が複合状態のサブ状態であり、その複合状態がソース状態である場合、内部遷移はソース状態を離れない。 |
プロパティのドキュメント
[read-only]
sourceState : QState* const
この遷移の遷移元状態(親)を保持する。
アクセス関数:
QState * | sourceState() const |
targetState : QAbstractState*
このプロパティは、この遷移のターゲット状態を保持する。
トランジションがターゲット状態を持たない場合でも、トランジションはトリガーされるかもしれませんが、それによってステートマシンのコンフィギュレーションが変更されることはありません(つまり、現在の状態が終了して再入力されることはありません)。
アクセス関数:
QAbstractState * | targetState() const |
void | setTargetState(QAbstractState *target) |
Notifierシグナル:
void | targetStateChanged() | [see note below] |
注意: これはプライベート・シグナルです。シグナル接続で使用することはできますが、ユーザーが発することはできません。
targetStates : QList<QAbstractState*>
このプロパティは、この遷移のターゲット状態を保持する。
複数の状態を指定する場合は、すべて同じ並列グループ状態の子孫でなければならない。
アクセス関数
QList<QAbstractState *> | targetStates() const |
void | setTargetStates(const QList<QAbstractState *> &targets) |
通知シグナル:
void | targetStatesChanged() | [see note below] |
注意: これはプライベートシグナルである。シグナル接続で使用することはできるが、ユーザーが発することはできない。
[bindable]
transitionType : TransitionType
注: このプロパティはQProperty バインディングをサポートする。
は、このトランジションが内部トランジションか外部トランジションかを示します。
内部トランジションと外部トランジションは同じ動作をしますが、ソース状態が複合状態であり、ターゲットがソースの子孫であるトランジションは例外です。このような場合、内部遷移はそのソース状態から退出したり再入場したりしませんが、外部遷移はそうなります。
デフォルトでは、この型は外部遷移である。
メンバ関数のドキュメント
QAbstractTransition::QAbstractTransition(QState *sourceState = nullptr)
与えられたsourceState で新しい QAbstractTransition オブジェクトを構築します。
[virtual noexcept]
QAbstractTransition::~QAbstractTransition()
この移行を破壊する。
void QAbstractTransition::addAnimation(QAbstractAnimation *animation)
与えられたanimation をこのトランジションに追加します。トランジションはアニメーションの所有権を持ちません。
removeAnimation() およびanimations()も参照してください 。
QList<QAbstractAnimation *> QAbstractTransition::animations() const
このトランジションに関連付けられたアニメーションのリスト、またはアニメーションがない場合は空のリストを返します。
addAnimation()も参照してください 。
[override virtual protected]
bool QAbstractTransition::event(QEvent *e)
再インプリメント:QObject::event(QEvent *e).
[pure virtual protected]
bool QAbstractTransition::eventTest(QEvent *event)
この関数は、与えられたevent 、このトランジションがトリガーされるべきかどうかを判断するために呼び出される。この関数を再実装し、イベントがトランジションをトリガーする必要がある場合はtrueを返し、そうでない場合はfalseを返します。
QStateMachine *QAbstractTransition::machine() const
このトランジションが属するステートマシンを返します。トランジションがステートマシンの一部でない場合はnullptr
を返します。
[pure virtual protected]
void QAbstractTransition::onTransition(QEvent *event)
この関数はトランジションがトリガーされたときに呼び出される。与えられたevent はトランジションがトリガーされる原因となったものです。トランジションがトリガーされたときにカスタム処理を実行するには、この関数を再実装します。
void QAbstractTransition::removeAnimation(QAbstractAnimation *animation)
与えられたanimation をこのトランジションから削除する。
addAnimation()も参照してください 。
void QAbstractTransition::setTargetState(QAbstractState *target)
この遷移のtarget 状態を設定する。
備考: プロパティtargetState のセッター関数。
targetState()も参照 。
void QAbstractTransition::setTargetStates(const QList<QAbstractState *> &targets)
この遷移のターゲット状態を、与えられたtargets に設定する。
注: プロパティのセッター関数targetStates 。
targetStates()も参照 。
void QAbstractTransition::setTransitionType(QAbstractTransition::TransitionType type)
トランジションのタイプをtype に設定する。
注: プロパティのセッター関数transitionType 。
transitionType()も参照 。
QState *QAbstractTransition::sourceState() const
この遷移のソース状態を返します。この遷移にソース状態がない場合は、nullptr
。
注: プロパティ sourceState のゲッター関数です。
QAbstractState *QAbstractTransition::targetState() const
このトランジションのターゲット状態を返します。ターゲットがない場合はnullptr
を返します。
注: プロパティ targetState のゲッター関数です。
setTargetState()も参照してください 。
[private signal]
void QAbstractTransition::targetStateChanged()
このシグナルは、targetState プロパティが変更されたときに発行される。
注意: これはプライベートシグナルです。シグナル接続で使用することはできますが、ユーザーが発することはできません。
注: targetState プロパティのノーティファイアシグナル。
QAbstractTransition::targetStateも参照 。
QList<QAbstractState *> QAbstractTransition::targetStates() const
この遷移のターゲット状態、またはこの遷移にターゲット状態がない場合は空のリストを返します。
注: プロパティ targetStates のゲッター関数です。
setTargetStates()も参照してください 。
[private signal]
void QAbstractTransition::targetStatesChanged()
このシグナルは、targetStates プロパティが変更されたときに発行される。
注意: これはプライベートシグナルです。シグナル接続で使用することはできますが、ユーザーが発することはできません。
注: targetStates プロパティのノーティファイアシグナル。
QAbstractTransition::targetStatesも参照のこと 。
QAbstractTransition::TransitionType QAbstractTransition::transitionType() const
トランジションのタイプを返す。
注: プロパティ transitionType のゲッター関数です。
setTransitionType()も参照してください 。
[private signal]
void QAbstractTransition::triggered()
このシグナルは、トランジションがトリガーされた時(onTransition ()が呼ばれた後)に発せられる。
注意: これはプライベートシグナルです。シグナル接続で使用することはできますが、ユーザーが発することはできません。
© 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.