QAbstractTransition Class
Die Klasse „QAbstractTransition“ ist die Basisklasse für Übergänge zwischen „ QAbstractState “-Objekten. Mehr...
| Header: | #include <QAbstractTransition> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS StateMachine) target_link_libraries(mytarget PRIVATE Qt6::StateMachine) |
| qmake: | QT += statemachine |
| Erbt von: | QObject |
| Vererbt an: |
Öffentliche Typen
| enum | TransitionType { ExternalTransition, InternalTransition } |
Eigenschaften
- sourceState : QState*
- targetState : QAbstractState*
- targetStates : QList<QAbstractState*>
- transitionType : TransitionType
Öffentliche Funktionen
| 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 |
Signale
| void | targetStateChanged() |
| void | targetStatesChanged() |
| void | triggered() |
Geschützte Funktionen
| virtual bool | eventTest(QEvent *event) = 0 |
| virtual void | onTransition(QEvent *event) = 0 |
Neu implementierte geschützte Funktionen
| virtual bool | event(QEvent *e) override |
Ausführliche Beschreibung
Die Klasse `QAbstractTransition` ist die abstrakte Basisklasse für Übergänge zwischen Zuständen (Objekte vom Typ `QAbstractState `) eines ` QStateMachine`. `QAbstractTransition` ist Teil des „Qt State Machine “-Frameworks.
Die Funktion ` sourceState()` gibt die Quelle des Übergangs zurück. Die Funktion ` targetStates()` gibt die Ziele des Übergangs zurück. Die Funktion ` machine()` gibt die Zustandsmaschine zurück, zu der der Übergang gehört.
Das Signal „ triggered()“ wird ausgegeben, wenn der Übergang ausgelöst wurde.
Übergänge können das Abspielen von Animationen auslösen. Verwenden Sie die Funktion „ addAnimation()“, um dem Übergang eine Animation hinzuzufügen.
Unterklassen
Die Funktion ` eventTest()` wird von der Zustandsmaschine aufgerufen, um zu bestimmen, ob ein Ereignis den Übergang auslösen soll. In Ihrer Neuimplementierung prüfen Sie in der Regel den Ereignistyp, wandeln das Ereignisobjekt in den entsprechenden Typ um und überprüfen, ob eine oder mehrere Eigenschaften des Ereignisses Ihren Kriterien entsprechen.
Die Funktion ` onTransition()` wird aufgerufen, wenn der Übergang ausgelöst wird; implementieren Sie diese Funktion neu, um eine benutzerdefinierte Verarbeitung für den Übergang durchzuführen.
Dokumentation zu Mitgliedstypen
enum QAbstractTransition::TransitionType
Diese Enumeration legt die Art des Übergangs fest. Standardmäßig handelt es sich um einen externen Übergang.
| Konstante | Wert | Beschreibung |
|---|---|---|
QAbstractTransition::ExternalTransition | 0 | Jeder Zustand, der der Quellzustand eines Übergangs ist (bei dem es sich nicht um einen Übergang ohne Ziel handelt), wird verlassen und bei Bedarf wieder betreten. |
QAbstractTransition::InternalTransition | 1 | Wenn der Zielzustand eines Übergangs ein Unterzustand eines zusammengesetzten Zustands ist und dieser zusammengesetzte Zustand der Quellzustand ist, verlässt ein interner Übergang den Quellzustand nicht. |
Siehe auch „ QAbstractTransition::transitionType “.
Eigenschaftsdokumentation
[read-only] sourceState : QState*
Diese Eigenschaft enthält den Quellzustand (übergeordneten Zustand) dieses Übergangs
Zugriffsfunktionen:
| QState * | sourceState() const |
targetState : QAbstractState*
Diese Eigenschaft enthält den Zielzustand dieses Übergangs
Wenn ein Übergang keinen Zielzustand hat, kann der Übergang zwar dennoch ausgelöst werden, dies führt jedoch nicht zu einer Änderung der Konfiguration der Zustandsmaschine (d. h., der aktuelle Zustand wird nicht verlassen und erneut betreten).
Zugriffsfunktionen:
| QAbstractState * | targetState() const |
| void | setTargetState(QAbstractState *target) |
Notifier-Signal:
| void | targetStateChanged() | [see note below] |
Hinweis: Dies ist ein privates Signal. Es kann in Signalverbindungen verwendet werden, darf jedoch nicht vom Benutzer ausgesendet werden.
targetStates : QList<QAbstractState*>
Diese Eigenschaft enthält die Zielzustände dieses Übergangs
Wenn mehrere Zustände angegeben sind, müssen alle Nachkommen desselben Zustands einer parallelen Gruppe sein.
Zugriffsfunktionen:
| QList<QAbstractState *> | targetStates() const |
| void | setTargetStates(const QList<QAbstractState *> &targets) |
Benachrichtigungssignal:
| void | targetStatesChanged() | [see note below] |
Hinweis: Dies ist ein privates Signal. Es kann in Signalverbindungen verwendet werden, darf jedoch nicht vom Benutzer ausgesendet werden.
[bindable] transitionType : TransitionType
Hinweis: Diese Eigenschaft unterstützt „ QProperty “-Bindungen.
Gibt an, ob es sich bei diesem Übergang um einen internen oder einen externen Übergang handelt.
Interne und externe Übergänge verhalten sich gleich, außer im Fall eines Übergangs, dessen Quellzustand ein zusammengesetzter Zustand ist und dessen Ziel(e) ein Nachkomme des Quellzustands ist. In einem solchen Fall verlässt ein interner Übergang seinen Quellzustand nicht und kehrt auch nicht dorthin zurück, während ein externer Übergang dies tut.
Standardmäßig handelt es sich um einen externen Übergang.
Zugriffsfunktionen:
| QAbstractTransition::TransitionType | transitionType() const |
| void | setTransitionType(QAbstractTransition::TransitionType type) |
Dokumentation zu den Mitgliedsfunktionen
QAbstractTransition::QAbstractTransition(QState *sourceState = nullptr)
Erstellt ein neues QAbstractTransition-Objekt mit dem angegebenen „ sourceState “.
[virtual noexcept] QAbstractTransition::~QAbstractTransition()
Macht diesen Übergang zunichte.
void QAbstractTransition::addAnimation(QAbstractAnimation *animation)
Fügt die angegebene „ animation “ zu diesem Übergang hinzu. Der Übergang übernimmt keine Verantwortung für die Animation.
Siehe auch „ removeAnimation()“ und „ animations()“.
QList<QAbstractAnimation *> QAbstractTransition::animations() const
Gibt die Liste der mit diesem Übergang verknüpften Animationen zurück oder eine leere Liste, falls keine Animationen vorhanden sind.
Siehe auch ` addAnimation()`.
[override virtual protected] bool QAbstractTransition::event(QEvent *e)
Implementiert: ` QObject::event(QEvent *e)`.
[pure virtual protected] bool QAbstractTransition::eventTest(QEvent *event)
Diese Funktion wird aufgerufen, um festzustellen, ob das angegebene Ereignis „ event “ diesen Übergang auslösen soll. Implementieren Sie diese Funktion neu und geben Sie „true“ zurück, wenn das Ereignis den Übergang auslösen soll; andernfalls geben Sie „false“ zurück.
QStateMachine *QAbstractTransition::machine() const
Gibt die Zustandsmaschine zurück, zu der dieser Übergang gehört, oder „ nullptr “, falls der Übergang nicht Teil einer Zustandsmaschine ist.
[pure virtual protected] void QAbstractTransition::onTransition(QEvent *event)
Diese Funktion wird aufgerufen, wenn der Übergang ausgelöst wird. Der übergebene Parameter „ event “ gibt an, was den Übergang ausgelöst hat. Implementieren Sie diese Funktion neu, um beim Auslösen des Übergangs eine benutzerdefinierte Verarbeitung durchzuführen.
void QAbstractTransition::removeAnimation(QAbstractAnimation *animation)
Entfernt die angegebene „ animation “ aus diesem Übergang.
Siehe auch „ addAnimation()“.
void QAbstractTransition::setTargetState(QAbstractState *target)
Legt den Status „ target “ dieses Übergangs fest.
Hinweis: Setter -Funktion für die Eigenschaft „ targetState “.
Siehe auch „ targetState()“.
void QAbstractTransition::setTargetStates(const QList<QAbstractState *> &targets)
Legt die Zielzustände dieses Übergangs auf die angegebene „ targets “ fest.
Hinweis: Setter -Funktion für die Eigenschaft ` targetStates`.
Siehe auch ` targetStates()`.
void QAbstractTransition::setTransitionType(QAbstractTransition::TransitionType type)
Legt den Typ des Übergangs auf „ type “ fest.
Hinweis: Setter -Funktion für die Eigenschaft „ transitionType “.
Siehe auch „ transitionType()“.
QState *QAbstractTransition::sourceState() const
Gibt den Quellzustand dieses Übergangs zurück oder „ nullptr “, falls dieser Übergang keinen Quellzustand hat.
Hinweis: Getter -Funktion für die Eigenschaft „sourceState“.
QAbstractState *QAbstractTransition::targetState() const
Gibt den Zielzustand dieses Übergangs zurück oder „ nullptr “, falls der Übergang kein Ziel hat.
Hinweis: Getter -Funktion für die Eigenschaft „targetState“.
Siehe auch „ setTargetState()“.
[private signal] void QAbstractTransition::targetStateChanged()
Dieses Signal wird ausgelöst, wenn die Eigenschaft „ targetState “ geändert wird.
Hinweis: Dies ist ein privates Signal. Es kann in Signalverbindungen verwendet werden, kann jedoch nicht vom Benutzer ausgelöst werden.
Hinweis: Notifier -Signal für die Eigenschaft „ targetState “.
Siehe auch „ QAbstractTransition::targetState “.
QList<QAbstractState *> QAbstractTransition::targetStates() const
Gibt die Zielzustände dieses Übergangs zurück oder eine leere Liste, falls dieser Übergang keine Zielzustände hat.
Hinweis: Getter -Funktion für die Eigenschaft `targetStates`.
Siehe auch „ setTargetStates()“.
[private signal] void QAbstractTransition::targetStatesChanged()
Dieses Signal wird ausgelöst, wenn die Eigenschaft „ targetStates “ geändert wird.
Hinweis: Dies ist ein privates Signal. Es kann in Signalverbindungen verwendet werden, kann jedoch nicht vom Benutzer ausgelöst werden.
Hinweis: Notifier -Signal für die Eigenschaft „ targetStates “.
Siehe auch „ QAbstractTransition::targetStates “.
QAbstractTransition::TransitionType QAbstractTransition::transitionType() const
Gibt den Typ des Übergangs zurück.
Hinweis: Getter -Funktion für die Eigenschaft `transitionType`.
Siehe auch „ setTransitionType()“.
[private signal] void QAbstractTransition::triggered()
Dieses Signal wird ausgelöst, wenn der Übergang ausgelöst wurde (nachdem „ onTransition()“ aufgerufen wurde).
Hinweis: Dies ist ein privates Signal. Es kann in Signalverbindungen verwendet werden, kann jedoch nicht vom Benutzer ausgelöst werden.
© 2026 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.