QOpcUaExtensionObject Class
OPC UA 扩展对象。更多
头文件: | #include <QOpcUaExtensionObject> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS OpcUa) target_link_libraries(mytarget PRIVATE Qt6::OpcUa) |
qmake: | QT += opcua |
公共类型
enum | Encoding { NoBody, ByteString, Xml } |
公共函数
QOpcUaExtensionObject() | |
(since 6.9) | QOpcUaExtensionObject(const QString &typeId, QOpcUaExtensionObject::Encoding encoding = Encoding::ByteString) |
QOpcUaExtensionObject(const QOpcUaExtensionObject &rhs) | |
QByteArray | encodedBody() const |
QByteArray & | encodedBodyRef() |
QOpcUaExtensionObject::Encoding | encoding() const |
QString | encodingTypeId() const |
void | setBinaryEncodedBody(const QByteArray &encodedBody, const QString &typeId) |
void | setEncodedBody(const QByteArray &encodedBody) |
void | setEncoding(QOpcUaExtensionObject::Encoding encoding) |
void | setEncodingTypeId(const QString &encodingTypeId) |
void | setXmlEncodedBody(const QByteArray &encodedBody, const QString &typeId) |
QVariant | operator QVariant() const |
QOpcUaExtensionObject & | operator=(const QOpcUaExtensionObject &rhs) |
bool | operator==(const QOpcUaExtensionObject &rhs) const |
详细说明
这是扩展对象的Qt OPC UA 表示法。扩展对象在 OPC UA 中用作容器,用于在变量中存储非内置类型。它包含有关数据类型和编码的信息,以及使用 OPC UA 第 6 部分规定的编码之一进行编码的数据本身。解码器如果可以处理扩展对象的类型,就应该对其进行解码。如果解码器不支持该类型,则不会对扩展对象进行解码,解码工作由用户完成。
成员类型文档
enum QOpcUaExtensionObject::Encoding
枚举正文的可能编码。
常数 | 值 |
---|---|
QOpcUaExtensionObject::NoBody | 0 |
QOpcUaExtensionObject::ByteString | 1 |
QOpcUaExtensionObject::Xml | 2 |
成员函数文档
QOpcUaExtensionObject::QOpcUaExtensionObject()
默认构造一个未设置参数的扩展对象。
[explicit, since 6.9]
QOpcUaExtensionObject::QOpcUaExtensionObject(const QString &typeId, QOpcUaExtensionObject::Encoding encoding = Encoding::ByteString)
构造一个扩展对象,其编码类型为 idtypeId ,主体类型为encoding 。
此函数在 Qt 6.9 中引入。
QOpcUaExtensionObject::QOpcUaExtensionObject(const QOpcUaExtensionObject &rhs)
从rhs 构建扩展对象。
QByteArray QOpcUaExtensionObject::encodedBody() const
返回此扩展对象的主体。它包含编码数据。
另请参见 setEncodedBody()。
QByteArray &QOpcUaExtensionObject::encodedBodyRef()
返回该扩展对象主体的引用。
QOpcUaExtensionObject::Encoding QOpcUaExtensionObject::encoding() const
返回正文的encoding 。
另请参阅 setEncoding().
QString QOpcUaExtensionObject::encodingTypeId() const
返回此扩展对象存储的类型的编码节点 ID,例如 ns=0;i=886 表示 Range_Encoding_DefaultBinary。所有编码 ID 均列于https://opcfoundation.org/UA/schemas/1.05/NodeIds.csv。
另请参见 setEncodingTypeId().
void QOpcUaExtensionObject::setBinaryEncodedBody(const QByteArray &encodedBody, const QString &typeId)
将此扩展对象的主体设置为encodedBody ,将主体的编码设置为ByteString ,将编码数据的类型 ID 设置为typeId 。
另请参阅 setEncodedBody()、setEncoding() 和setEncodingTypeId()。
void QOpcUaExtensionObject::setEncodedBody(const QByteArray &encodedBody)
将此扩展对象的主体设置为encodedBody 。
另请参见 encodedBody().
void QOpcUaExtensionObject::setEncoding(QOpcUaExtensionObject::Encoding encoding)
将正文的编码设置为encoding 。
另请参阅 encoding() 。
void QOpcUaExtensionObject::setEncodingTypeId(const QString &encodingTypeId)
将此扩展对象存储的类型编码的节点 ID 设置为encodingTypeId 。
另请参见 encodingTypeId()。
void QOpcUaExtensionObject::setXmlEncodedBody(const QByteArray &encodedBody, const QString &typeId)
将此扩展对象的主体设置为encodedBody ,将主体的编码设置为Xml ,将编码数据的类型 ID 设置为typeId 。
另请参阅 setEncodedBody()、setEncoding() 和setEncodingTypeId()。
QVariant QOpcUaExtensionObject::operator QVariant() const
将此扩展对象转换为QVariant 。
QOpcUaExtensionObject &QOpcUaExtensionObject::operator=(const QOpcUaExtensionObject &rhs)
在此扩展对象中设置rhs 的值。
bool QOpcUaExtensionObject::operator==(const QOpcUaExtensionObject &rhs) const
如果此扩展对象的值与rhs 相同,则返回true
。
© 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.