QScxmlEvent类
QScxmlEvent类是Qt SCXML状态机的事件。 更多...
头文件 | #include <QScxmlEvent> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Scxml) target_link_libraries(mytarget PRIVATE Qt6::Scxml) |
qmake | QT += scxml |
公共类型
枚举 | 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事件驱动转换。大多数事件是通过在应用程序中使用<raise>
和<send>
元素生成的。状态机自动生成一些强制事件,例如错误。
有关更多信息,请参阅SCXML规范 - 5.10.1 事件的内部结构。有关Qt SCXML API与规范差异的更多信息,请参阅SCXML兼容性。
另请参阅QScxmlStateMachine。
成员类型文档
枚举 QScxmlEvent::EventType
此枚举类型指定SCXML事件的类型
常量 | 值 | 描述 |
---|---|---|
QScxmlEvent::PlatformEvent | 0 | 状态机内部生成的事件。例如,错误。 |
QScxmlEvent::InternalEvent | 1 | 由<raise> 元素生成的事件。 |
QScxmlEvent::ExternalEvent | 2 | 由<send> 生成的事件。 |
属性文档
data : QVariant
此属性包含发送方包含的数据。
当在<send>
元素中使用<param>
元素时,数据将包含一个QVariantMap,其中键是name属性,值是从expr属性或location属性中获取的。
当使用<content>
元素时,数据将包含一个包含<content>
元素expr属性值的单一项或content元素的子数据。
访问函数
delay : int
此属性包含在处理完<send>
元素后发送事件应延迟的微秒数。
访问函数
[只读]
errorEvent : const bool
此属性包含事件是否表示错误。
访问函数
bool | isErrorEvent() const |
errorMessage : QString
此属性包含错误事件的错误消息,或一个空的QString。
访问函数
QString | errorMessage() const |
void | setErrorMessage(const QString &message) |
eventType : EventType
此属性包含事件的类型。
访问函数
QScxmlEvent::EventType | eventType() const |
void | setEventType(const QScxmlEvent::EventType &type) |
invokeId : QString
如果事件由状态机生成,则此属性包含被调用的状态机的ID。
访问函数
QString | invokeId() const |
void | setInvokeId(const QString &invokeid) |
name : QString
此属性存储事件的名称。
如果事件在SCXML文档内部生成,则此属性包含<raise>
或<send>
元素内部指定的event
属性值。
如果事件在C++代码中创建并被提交到QScxmlStateMachine,则此属性的值将与SCXML文档中<transition>
元素内部指定的event
属性值相匹配。
访问函数
origin : QString
此属性包含指向SCXML事件来源的URI。
来源等同于<send>
元素的target
属性。
访问函数
originType : QString
此属性包含SCXML事件的来源类型。
来源类型等同于<send>
元素的type
属性。
访问函数
QString | originType() const |
void | setOriginType(const QString &origintype) |
[只读]
scxmlType : const QString
此属性包含事件类型。
访问函数
QString | scxmlType() const |
sendId : QString
此属性包含事件的ID。
ID用于由<cancel>
元素识别要取消的事件。
注意:如果<send>
元素中未指定id
属性,则状态机生成唯一ID。生成的ID可以通过此属性访问。
访问函数
成员函数文档
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函数。
另请参阅:setEventType和QScxmlEvent::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::eventType 和 QScxmlEvent::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公司在芬兰和其他国家/地区的商标。商标。所有其他商标均为其各自所有者的财产。