本页内容

QOpcUaExtensionObject Class

OPC UA ExtensionObject。更多内容...

标题: #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)
operator QVariant() const
QOpcUaExtensionObject &operator=(const QOpcUaExtensionObject &rhs)
bool operator==(const QOpcUaExtensionObject &rhs) const

详细描述

这是扩展对象在Qt OPC UA 中的表示形式。当在Variant中存储非内置类型时,扩展对象在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,例如 Range_Encoding_DefaultBinary 的 ID 为 ns=0;i=886。所有编码 ID 均列于https://opcfoundation.org/UA/schemas/1.05/NodeIds.csv 中。

另请参阅 setEncodingTypeId()。

void QOpcUaExtensionObject::setBinaryEncodedBody(const QByteArray &encodedBody, const QString &typeId)

将此扩展对象的正文设置为encodedBody ,将正文的编码设置为ByteString ,并将编码数据的类型标识符设置为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 ,并将编码数据的类型标识符设置为typeId 。

另请参阅 setEncodedBody()、setEncoding() 和setEncodingTypeId()。

QOpcUaExtensionObject::operator QVariant() const

将此扩展对象转换为QVariant 。

QOpcUaExtensionObject &QOpcUaExtensionObject::operator=(const QOpcUaExtensionObject &rhs)

将rhs 中的值设置到此扩展对象中。

bool QOpcUaExtensionObject::operator==(const QOpcUaExtensionObject &rhs) const

如果该扩展对象的值与rhs 相同,则返回true 。

© 2026 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.