QEventTransition Class
Die Klasse `QEventTransition` bietet einen für ` QObject` spezifischen Übergang für Qt-Ereignisse. Mehr...
| Header: | #include <QEventTransition> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS StateMachine) target_link_libraries(mytarget PRIVATE Qt6::StateMachine) |
| qmake: | QT += statemachine |
| Erbt von: | QAbstractTransition |
| Vererbt an: |
Eigenschaften
- eventSource : QObject*
- eventType : QEvent::Type
Öffentliche Funktionen
| QEventTransition(QState *sourceState = nullptr) | |
| QEventTransition(QObject *object, QEvent::Type type, QState *sourceState = nullptr) | |
| virtual | ~QEventTransition() |
| QBindable<QObject *> | bindableEventSource() |
| QBindable<QEvent::Type> | bindableEventType() |
| QObject * | eventSource() const |
| QEvent::Type | eventType() const |
| void | setEventSource(QObject *object) |
| void | setEventType(QEvent::Type type) |
Neu implementierte geschützte Funktionen
| virtual bool | event(QEvent *e) override |
| virtual bool | eventTest(QEvent *event) override |
| virtual void | onTransition(QEvent *event) override |
Ausführliche Beschreibung
Ein QEventTransition-Objekt bindet ein Ereignis an eine bestimmte „ QObject “. QEventTransition ist Teil des „Qt State Machine “-Frameworks.
Beispiel:
QPushButton *button = ...;
QState *s1 = ...;
QState *s2 = ...;
// If in s1 and the button receives an Enter event, transition to s2
QEventTransition *enterTransition = new QEventTransition(button, QEvent::Enter);
enterTransition->setTargetState(s2);
s1->addTransition(enterTransition);
// If in s2 and the button receives an Exit event, transition back to s1
QEventTransition *leaveTransition = new QEventTransition(button, QEvent::Leave);
leaveTransition->setTargetState(s1);
s2->addTransition(leaveTransition);Unterklassenbildung
Wenn Sie die Funktion ` eventTest()` neu implementieren, sollten Sie zunächst die Basisimplementierung aufrufen, um zu überprüfen, ob es sich bei dem Ereignis um ein ` QStateMachine::WrappedEvent ` für das richtige Objekt und den richtigen Ereignistyp handelt. Anschließend können Sie das Ereignis in ein ` QStateMachine::WrappedEvent ` umwandeln und das ursprüngliche Ereignis durch Aufruf von ` QStateMachine::WrappedEvent::event()` abrufen, um weitere Prüfungen an diesem Objekt durchzuführen.
Siehe auch „ QState::addTransition()“.
Dokumentation zu den Eigenschaften
[bindable] eventSource : QObject*
Hinweis: Diese Eigenschaft unterstützt „ QProperty “-Bindungen.
Diese Eigenschaft enthält die Ereignisquelle, mit der dieser Ereignisübergang verknüpft ist
Zugriffsfunktionen:
| QObject * | eventSource() const |
| void | setEventSource(QObject *object) |
[bindable] eventType : QEvent::Type
Hinweis: Diese Eigenschaft unterstützt „ QProperty “-Bindungen.
Diese Eigenschaft enthält den Typ des Ereignisses, mit dem dieser Ereignisübergang verknüpft ist
Zugriffsfunktionen:
| QEvent::Type | eventType() const |
| void | setEventType(QEvent::Type type) |
Dokumentation zu Mitgliedsfunktionen
QEventTransition::QEventTransition(QState *sourceState = nullptr)
Erstellt ein neues QEventTransition-Objekt mit dem angegebenen „ sourceState “.
QEventTransition::QEventTransition(QObject *object, QEvent::Type type, QState *sourceState = nullptr)
Erstellt ein neues QEventTransition-Objekt, das mit den Ereignissen des angegebenen „ type “ für den angegebenen „ object “ sowie mit dem angegebenen „ sourceState “ verknüpft ist.
[virtual noexcept] QEventTransition::~QEventTransition()
Löscht diesen Ereignisübergang „ QObject “.
[override virtual protected] bool QEventTransition::event(QEvent *e)
Implementiert: ` QAbstractTransition::event(QEvent *e)`.
QObject *QEventTransition::eventSource() const
Gibt die diesem Ereignisübergang zugeordnete Ereignisquelle zurück.
Hinweis: Getter -Funktion für die Eigenschaft „eventSource“.
Siehe auch „ setEventSource()“.
[override virtual protected] bool QEventTransition::eventTest(QEvent *event)
Umsetzt: ` QAbstractTransition::eventTest(QEvent *event)`.
QEvent::Type QEventTransition::eventType() const
Gibt den Ereignistyp zurück, mit dem dieser Ereignisübergang verknüpft ist.
Hinweis: Getter -Funktion für die Eigenschaft „eventType“.
Siehe auch „ setEventType()“.
[override virtual protected] void QEventTransition::onTransition(QEvent *event)
Umsetzt: QAbstractTransition::onTransition(QEvent *event).
void QEventTransition::setEventSource(QObject *object)
Legt die mit diesem Ereignisübergang verknüpfte Ereignisquelle auf den angegebenen „ object “ fest.
Hinweis: Setter -Funktion für die Eigenschaft „ eventSource “.
Siehe auch „ eventSource()“.
void QEventTransition::setEventType(QEvent::Type type)
Legt die Ereignis type fest, mit der dieser Ereignisübergang verknüpft ist.
Hinweis: Setter -Funktion für die Eigenschaft ` eventType`.
Siehe auch ` eventType()`.
© 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.