QAbstractTransition Class

QAbstractTransition クラスは、QAbstractState オブジェクト間のトランジションの基本クラスです。詳細...

ヘッダー #include <QAbstractTransition>
CMake: find_package(Qt6 REQUIRED COMPONENTS StateMachine)
target_link_libraries(mytarget PRIVATE Qt6::StateMachine)
qmake: QT += statemachine
を継承する: QObject
によって継承される:

QEventTransition そしてQSignalTransition

パブリックな型

enum TransitionType { ExternalTransition, InternalTransition }

プロパティ

パブリック機能

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

シグナル

プロテクト関数

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::ExternalTransition0遷移のソース状態である状態(ターゲットなしの遷移でない状態)はすべて残され、必要に応じて再入力される。
QAbstractTransition::InternalTransition1遷移のターゲット状態が複合状態のサブ状態であり、その複合状態がソース状態である場合、内部遷移はソース状態を離れない。

QAbstractTransition::transitionTypeも参照のこと

プロパティのドキュメント

[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.