QEventTransition Class

Die Klasse QEventTransition bietet einen QObject-spezifischen Übergang für Qt-Ereignisse. Mehr...

Kopfzeile: #include <QEventTransition>
CMake: find_package(Qt6 REQUIRED COMPONENTS StateMachine)
target_link_libraries(mytarget PRIVATE Qt6::StateMachine)
qmake: QT += statemachine
Vererbt: QAbstractTransition
Vererbt von:

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)

Reimplementierte geschützte Funktionen

virtual bool event(QEvent *e) override
virtual bool eventTest(QEvent *event) override
virtual void onTransition(QEvent *event) override

Detaillierte 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);

Unterklassifizierung von

Wenn Sie die Funktion eventTest() neu implementieren, sollten Sie zunächst die Basisimplementierung aufrufen, um zu überprüfen, ob das Ereignis ein QStateMachine::WrappedEvent für das richtige Objekt und den richtigen Ereignistyp ist. Sie können dann das Ereignis in ein QStateMachine::WrappedEvent umwandeln und das ursprüngliche Ereignis durch Aufruf von QStateMachine::WrappedEvent::event() abrufen und zusätzliche Prüfungen für dieses Objekt durchführen.

Siehe auch QState::addTransition().

Dokumentation der Eigenschaft

[bindable] eventSource : QObject*

Hinweis: Diese Eigenschaft unterstützt QProperty Bindungen.

Diese Eigenschaft enthält die Ereignisquelle, mit der dieser Ereignisübergang verbunden ist

[bindable] eventType : QEvent::Type

Hinweis: Diese Eigenschaft unterstützt QProperty Bindungen.

Diese Eigenschaft enthält den Typ des Ereignisses, mit dem dieser Ereignisübergang verbunden ist

Dokumentation der Mitgliedsfunktionen

QEventTransition::QEventTransition(QState *sourceState = nullptr)

Konstruiert ein neues QEventTransition-Objekt mit der angegebenen sourceState.

QEventTransition::QEventTransition(QObject *object, QEvent::Type type, QState *sourceState = nullptr)

Konstruiert ein neues QEventTransition-Objekt, das mit Ereignissen des angegebenen type für das angegebene object und mit dem angegebenen sourceState verbunden ist.

[virtual noexcept] QEventTransition::~QEventTransition()

Zerstört diesen QObject Ereignisübergang.

[override virtual protected] bool QEventTransition::event(QEvent *e)

Reimplements: QAbstractTransition::event(QEvent *e).

QObject *QEventTransition::eventSource() const

Gibt die Ereignisquelle zurück, die mit diesem Ereignisübergang verbunden ist.

Hinweis: Getter-Funktion für die Eigenschaft eventSource.

Siehe auch setEventSource().

[override virtual protected] bool QEventTransition::eventTest(QEvent *event)

Reimplements: 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)

Reimplements: QAbstractTransition::onTransition(QEvent *Event).

void QEventTransition::setEventSource(QObject *object)

Setzt die Ereignisquelle, die mit diesem Ereignisübergang verbunden ist, auf die angegebene object.

Hinweis: Setter-Funktion für die Eigenschaft eventSource.

Siehe auch eventSource().

void QEventTransition::setEventType(QEvent::Type type)

Legt das Ereignis type fest, dem dieser Ereignisübergang zugeordnet ist.

Hinweis: Setter-Funktion für die Eigenschaft eventType.

Siehe auch eventType().

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