このページでは

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()

default は、パラメータが設定されていない拡張オブジェクトを生成します。

[explicit, since 6.9] QOpcUaExtensionObject::QOpcUaExtensionObject(const QString &typeId, QOpcUaExtensionObject::Encoding encoding = Encoding::ByteString)

エンコーディング型 ID `typeId ` および本体型 `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 の場合は 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 に設定し、エンコードされたデータのタイプ 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()も参照してください 。

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.