Auf dieser Seite

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:

QKeyEventTransition und QMouseEventTransition

Eigenschaften

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