QAbstractTransition Class
QAbstractTransition クラスは、QAbstractState オブジェクト間のトランジションの基本クラスです。詳細...
Header: | #include <QAbstractTransition> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS StateMachine) target_link_libraries(mytarget PRIVATE Qt6::StateMachine) |
qmake: | QT += statemachine |
Inherits: | QObject |
Inherited By: |
パブリックタイプ
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 |
詳細説明
QAbstractTransitionクラスは、QStateMachine の状態(QAbstractState オブジェクト)間の遷移の抽象ベースクラスです。 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) |
Notifier シグナル:
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()が呼ばれた後)に発せられます。
注: これはプライベートシグナルです。シグナル接続で使用することはできますが、ユーザーが発することはできません。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。