QScxmlEvent Class

The QScxmlEvent class is an event for a Qt SCXML state machine. 更多...

头: #include <QScxmlEvent>
CMake: find_package(Qt6 REQUIRED COMPONENTS Scxml)
target_link_libraries(mytarget PRIVATE Qt6::Scxml)
qmake: QT += scxml

公共类型

enum EventType { PlatformEvent, InternalEvent, ExternalEvent }

特性

公共函数

QScxmlEvent ()
QScxmlEvent (const QScxmlEvent & other )
~QScxmlEvent ()
void clear ()
QVariant data () const
int delay () const
QString errorMessage () const
QScxmlEvent::EventType eventType () const
QString invokeId () const
bool isErrorEvent () const
QString name () const
QString origin () const
QString originType () const
QString scxmlType () const
QString sendId () const
void setData (const QVariant & data )
void setDelay (int delayInMiliSecs )
void setErrorMessage (const QString & message )
void setEventType (const QScxmlEvent::EventType & type )
void setInvokeId (const QString & invokeid )
void setName (const QString & name )
void setOrigin (const QString & origin )
void setOriginType (const QString & origintype )
void setSendId (const QString & sendid )
QScxmlEvent & operator= (const QScxmlEvent & other )

详细描述

SCXML events drive transitions. Most events are generated by using the <raise> and <send> elements in the application. The state machine automatically generates some mandatory events, such as errors.

更多信息,见 SCXML Specification - 5.10.1 The Internal Structure of Events . For more information about how the Qt SCXML API differs from the specification, see SCXML 合规 .

另请参阅 QScxmlStateMachine .

成员类型文档编制

enum QScxmlEvent:: EventType

This enum type specifies the type of an SCXML event:

常量 描述
QScxmlEvent::PlatformEvent 0 An event generated internally by the state machine. For example, errors.
QScxmlEvent::InternalEvent 1 An event generated by a <raise> 元素。
QScxmlEvent::ExternalEvent 2 An event generated by a <send> 元素。

特性文档编制

data : QVariant

This property holds the data included by the sender.

<param> elements are used in the <send> element, the data will contain a QVariantMap where the key is the name attribute, and the value is taken from the expr attribute or the location 属性。

<content> element is used, the data will contain a single item with either the value of the expr 属性在 <content> element or the child data of the <content> 元素。

访问函数:

QVariant data () const
void setData (const QVariant & data )

delay : int

This property holds the delay in milliseconds after which the event is to be delivered after processing the <send> 元素。

访问函数:

int delay () const
void setDelay (int delayInMiliSecs )

[read-only] errorEvent : const bool

This property holds whether the event represents an error.

访问函数:

bool isErrorEvent () const

errorMessage : QString

This property holds an error message for an error event, or an empty QString .

访问函数:

QString errorMessage () const
void setErrorMessage (const QString & message )

eventType : EventType

This property holds the type of the event.

访问函数:

QScxmlEvent::EventType eventType () const
void setEventType (const QScxmlEvent::EventType & type )

invokeId : QString

This property holds the ID of the invoked state machine if the event is generated by one.

访问函数:

QString invokeId () const
void setInvokeId (const QString & invokeid )

name : QString

This property holds the name of the event.

If the event is generated inside the SCXML document, this property holds the value of the event attribute specified inside the <raise> or <send> 元素。

If the event is created in the C++ code and submitted to the QScxmlStateMachine , the value of this property is matched against the value of the event attribute specified inside the <transition> element in the SCXML document.

访问函数:

QString name () const
void setName (const QString & name )

origin : QString

This property holds the URI that points to the origin of an SCXML event.

The origin is equivalent to the target 属性在 <send> 元素。

访问函数:

QString origin () const
void setOrigin (const QString & origin )

originType : QString

This property holds the origin type of an SCXML event.

The origin type is equivalent to the type 属性在 <send> 元素。

访问函数:

QString originType () const
void setOriginType (const QString & origintype )

[read-only] scxmlType : const QString

This property holds the event type.

访问函数:

QString scxmlType () const

sendId : QString

This property holds the ID of the event.

The ID is used by the <cancel> element to identify the event to be canceled.

注意: The state machine generates a unique ID if the id attribute is not specified in the <send> element. The generated ID can be accessed through this property.

访问函数:

QString sendId () const
void setSendId (const QString & sendid )

成员函数文档编制

QScxmlEvent:: QScxmlEvent ()

Creates a new external SCXML event.

QScxmlEvent:: QScxmlEvent (const QScxmlEvent & other )

构造副本为 other .

[noexcept] QScxmlEvent:: ~QScxmlEvent ()

Destroys the SCXML event.

[invokable] void QScxmlEvent:: clear ()

Clears the contents of the event.

注意: 此函数可以被援引,通过元对象系统和从 QML。见 Q_INVOKABLE .

QVariant QScxmlEvent:: data () const

Returns the data included by the sender.

注意: Getter function for property data.

另请参阅 setData ().

int QScxmlEvent:: delay () const

Returns the delay in milliseconds after which this event is to be delivered after processing the <send> 元素。

注意: Getter function for property delay.

另请参阅 setDelay ().

QString QScxmlEvent:: errorMessage () const

If this is an error event, returns the error message. Otherwise, returns an empty QString .

注意: Getter function for property errorMessage.

另请参阅 setErrorMessage ().

QScxmlEvent::EventType QScxmlEvent:: eventType () const

Returns the type of this event.

注意: Getter function for property eventType.

另请参阅 setEventType () 和 QScxmlEvent::EventType .

QString QScxmlEvent:: invokeId () const

If this event is generated by an invoked state machine, returns the ID of the <invoke> element. Otherwise, returns an empty value.

注意: Getter function for property invokeId.

另请参阅 setInvokeId ().

bool QScxmlEvent:: isErrorEvent () const

返回 true when this is an error event, false 否则。

注意: getter 函数对于特性 errorEvent .

QString QScxmlEvent:: name () const

Returns the name of the event.

注意: Getter function for property name.

另请参阅 setName ().

QString QScxmlEvent:: origin () const

Returns a URI that points to the origin of an SCXML event.

注意: getter 函数对于特性 origin。

另请参阅 setOrigin ().

QString QScxmlEvent:: originType () const

Returns the origin type of an SCXML event.

注意: Getter function for property originType.

另请参阅 setOriginType ().

QString QScxmlEvent:: scxmlType () const

返回事件类型。

注意: Getter function for property scxmlType.

QString QScxmlEvent:: sendId () const

Returns the ID of the event.

注意: Getter function for property sendId.

另请参阅 setSendId ().

void QScxmlEvent:: setData (const QVariant & data )

Sets the payload data to data .

注意: setter 函数对于特性 data .

另请参阅 QScxmlEvent::data .

void QScxmlEvent:: setDelay ( int delayInMiliSecs )

Sets the delay in milliseconds as the value of delayInMiliSecs .

注意: setter 函数对于特性 delay .

另请参阅 QScxmlEvent::delay .

void QScxmlEvent:: setErrorMessage (const QString & message )

If this is an error event, the message is set as the error message.

注意: setter 函数对于特性 errorMessage .

另请参阅 errorMessage ().

void QScxmlEvent:: setEventType (const QScxmlEvent::EventType & type )

Sets the event type to type .

注意: setter 函数对于特性 eventType .

另请参阅 QScxmlEvent::eventType and QScxmlEvent::EventType .

void QScxmlEvent:: setInvokeId (const QString & invokeid )

Sets the ID of an invoked state machine to invokeid .

注意: setter 函数对于特性 invokeId .

另请参阅 QScxmlEvent::invokeId .

void QScxmlEvent:: setName (const QString & name )

Sets the name of the event to name .

注意: setter 函数对于特性 name .

另请参阅 name ().

void QScxmlEvent:: setOrigin (const QString & origin )

Sets the origin of an SCXML event to origin .

注意: setter 函数对于特性 origin .

另请参阅 QScxmlEvent::origin .

void QScxmlEvent:: setOriginType (const QString & origintype )

Sets the origin type of an SCXML event to origintype .

注意: setter 函数对于特性 originType .

另请参阅 QScxmlEvent::originType .

void QScxmlEvent:: setSendId (const QString & sendid )

Sets the ID sendid 对于此事件而言。

注意: setter 函数对于特性 sendId .

另请参阅 sendId ().

QScxmlEvent &QScxmlEvent:: operator= (const QScxmlEvent & other )

赋值 other to this SCXML event and returns a reference to this SCXML event.