QScxmlEvent类

QScxmlEvent类是Qt SCXML状态机的事件。 更多...

头文件 #include <QScxmlEvent>
CMakefind_package(Qt6 REQUIRED COMPONENTS Scxml)
target_link_libraries(mytarget PRIVATE Qt6::Scxml)
qmakeQT += scxml

公共类型

枚举EventType { PlatformEvent, InternalEvent, ExternalEvent }

属性

公共函数

QScxmlEvent()
QScxmlEvent(const QScxmlEvent &other)
~QScxmlEvent()
voidclear()
QVariantdata() const
intdelay() const
QStringerrorMessage() const
QScxmlEvent::EventTypeeventType() const
QStringinvokeId() const
boolisErrorEvent() const
QStringname() const
QStringorigin() const
QStringoriginType() const
QStringscxmlType() const
QStringsendId() const
voidsetData(const QVariant &data)
voidsetDelay(int delayInMiliSecs)
voidsetErrorMessage(const QString &message)
voidsetEventType(const QScxmlEvent::EventType &type)
voidsetInvokeId(const QString &invokeid)
voidsetName(const QString &name)
voidsetOrigin(const QString &origin)
voidsetOriginType(const QString &origintype)
voidsetSendId(const QString &sendid)
QScxmlEvent &operator=(const QScxmlEvent &other)

详细说明

SCXML事件驱动转换。大多数事件是通过在应用程序中使用<raise><send>元素生成的。状态机自动生成一些强制事件,例如错误。

有关更多信息,请参阅SCXML规范 - 5.10.1 事件的内部结构。有关Qt SCXML API与规范差异的更多信息,请参阅SCXML兼容性

另请参阅QScxmlStateMachine

成员类型文档

枚举 QScxmlEvent::EventType

此枚举类型指定SCXML事件的类型

常量描述
QScxmlEvent::PlatformEvent0状态机内部生成的事件。例如,错误。
QScxmlEvent::InternalEvent1<raise>元素生成的事件。
QScxmlEvent::ExternalEvent2<send>生成的事件。

属性文档

data : QVariant

此属性包含发送方包含的数据。

当在<send>元素中使用<param>元素时,数据将包含一个QVariantMap,其中键是name属性,值是从expr属性或location属性中获取的。

当使用<content>元素时,数据将包含一个包含<content>元素expr属性值的单一项或content元素的子数据。

访问函数

QVariantdata() const
voidsetData(const QVariant &data)

delay : int

此属性包含在处理完<send>元素后发送事件应延迟的微秒数。

访问函数

intdelay() const
voidsetDelay(int delayInMiliSecs)

[只读] errorEvent : const bool

此属性包含事件是否表示错误。

访问函数

boolisErrorEvent() const

errorMessage : QString

此属性包含错误事件的错误消息,或一个空的QString

访问函数

QStringerrorMessage() const
voidsetErrorMessage(const QString &message)

eventType : EventType

此属性包含事件的类型。

访问函数

QScxmlEvent::EventTypeeventType() const
voidsetEventType(const QScxmlEvent::EventType &type)

invokeId : QString

如果事件由状态机生成,则此属性包含被调用的状态机的ID。

访问函数

QStringinvokeId() const
voidsetInvokeId(const QString &invokeid)

name : QString

此属性存储事件的名称。

如果事件在SCXML文档内部生成,则此属性包含<raise><send>元素内部指定的event属性值。

如果事件在C++代码中创建并被提交到QScxmlStateMachine,则此属性的值将与SCXML文档中<transition>元素内部指定的event属性值相匹配。

访问函数

QStringname() const
voidsetName(const QString &name)

origin : QString

此属性包含指向SCXML事件来源的URI。

来源等同于<send>元素的target属性。

访问函数

QStringorigin() const
voidsetOrigin(const QString &origin)

originType : QString

此属性包含SCXML事件的来源类型。

来源类型等同于<send>元素的type属性。

访问函数

QStringoriginType() const
voidsetOriginType(const QString &origintype)

[只读] scxmlType : const QString

此属性包含事件类型。

访问函数

QStringscxmlType() const

sendId : QString

此属性包含事件的ID。

ID用于由<cancel>元素识别要取消的事件。

注意:如果<send>元素中未指定id属性,则状态机生成唯一ID。生成的ID可以通过此属性访问。

访问函数

QStringsendId() const
voidsetSendId(const QString &sendid)

成员函数文档

QScxmlEvent::QScxmlEvent()

创建一个新的外部SCXML事件。

QScxmlEvent::QScxmlEvent(const QScxmlEvent &other)

构造一个other的副本。

[noexcept] QScxmlEvent::~QScxmlEvent()

销毁SCXML事件。

[invokable] void QScxmlEvent::clear()

清除事件的内容。

注意:此函数可以通过元对象系统和从QML中调用。请参阅Q_INVOKABLE

QVariant QScxmlEvent::data() const

返回发送者包含的数据。

注意:属性data的getter函数。

另请参阅:setData

int QScxmlEvent::delay() const

返回在处理了<send>元素后要发送此事件的延迟时间(以毫秒为单位)。

注意:属性delay的getter函数。

另请参阅:setDelay

QString QScxmlEvent::errorMessage() const

如果是错误事件,则返回错误消息。否则,返回一个空的QString

注意:属性errorMessage的getter函数。

另请参阅:setErrorMessage

QScxmlEvent::EventType QScxmlEvent::eventType() const

返回此事件类型。

注意:属性eventType的getter函数。

另请参阅:setEventTypeQScxmlEvent::EventType

QString QScxmlEvent::invokeId() const

如果此事件由一个调用的状态机生成,返回<invoke>元素的ID。否则,返回空值。

注意:属性invokeId的getter函数。

另请参阅:setInvokeId

bool QScxmlEvent::isErrorEvent() const

当此事件是错误事件时返回true,否则返回false

注意:属性<(cursor>errorEvent)的getter函数。

QString QScxmlEvent::name() const

返回事件的名称。

注意:属性name的getter函数。

另请参阅:setName

QString QScxmlEvent::origin() const

返回指向SCXML事件源的URI。

注意:属性origin的getter函数。

另请参阅:setOrigin

QString QScxmlEvent::originType() const

返回SCXML事件的源类型。

注意:属性originType的getter函数。

另请参阅:setOriginType

QString QScxmlEvent::scxmlType() const

返回事件类型。

注意:属性scxmlType的getter函数。

QString QScxmlEvent::sendId() const

返回事件的ID。

注意:属性sendId的getter函数。

另请参阅:setSendId

void QScxmlEvent::setData(const QVariant &data)

将有效负载数据设置为data

注意:属性<(cursor>data)的setter函数。

另请参阅 QScxmlEvent::data.

void QScxmlEvent::setDelay(int delayInMiliSecs)

将延迟(毫秒)设置为delayInMiliSecs的值。

注意: delay属性的设置函数。

另请参阅 QScxmlEvent::delay.

void QScxmlEvent::setErrorMessage(const QString &message)

如果是错误事件,将message设置才错误消息。

注意: errorMessage属性的设置函数。

另请参阅 errorMessage().

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

将事件类型设置为type

注意: eventType属性的设置函数。

另请参阅 QScxmlEvent::eventTypeQScxmlEvent::EventType.

void QScxmlEvent::setInvokeId(const QString &invokeid)

将触发状态机的ID设置为invokeid

注意: invokeId属性的设置函数。

另请参阅 QScxmlEvent::invokeId.

void QScxmlEvent::setName(const QString &name)

将事件名称设置为name

注意: name属性的设置函数。

另请参阅 name().

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

将SCXML事件的源设置为origin

注意: origin属性的设置函数。

另请参阅 QScxmlEvent::origin.

void QScxmlEvent::setOriginType(const QString &origintype)

将SCXML事件的源类型设置为origintype

注意: originType属性的设置函数。

另请参阅 QScxmlEvent::originType.

void QScxmlEvent::setSendId(const QString &sendid)

为该事件设置ID sendid

注意: sendId属性的设置函数。

另请参阅 sendId().

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

other赋值给这个SCXML事件,并返回对这个SCXML事件的引用。

© 2024 Qt公司有限公司。本文件中包含的文件贡献均为各自所有者的版权。提供的文件根据自由软件基金会发布的《GNU自由文档许可协议》第1.3版条款许可。Qt及其相关标识是Qt公司在芬兰和其他国家/地区的商标。商标。所有其他商标均为其各自所有者的财产。