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::NoBody0
QOpcUaExtensionObject::ByteString1
QOpcUaExtensionObject::Xml2

成员函数文档

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.