QOpcUaGenericStructValue Class
Contient la valeur d'un type structuré OPC UA générique. En savoir plus...
| En-tête : | #include <QOpcUaGenericStructValue> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS OpcUa) target_link_libraries(mytarget PRIVATE Qt6::OpcUa) |
| qmake : | QT += opcua |
| Depuis : | Qt 6.7 |
Fonctions publiques
| QOpcUaGenericStructValue() | |
| QOpcUaGenericStructValue(const QString &typeName, const QString &typeId, const QOpcUaStructureDefinition &definition) | |
| QOpcUaGenericStructValue(const QString &typeName, const QString &typeId, const QOpcUaStructureDefinition &definition, const QHash<QString, QVariant> &fields) | |
| QOpcUaGenericStructValue(const QOpcUaGenericStructValue &other) | |
| QOpcUaGenericStructValue(QOpcUaGenericStructValue &&other) | |
| ~QOpcUaGenericStructValue() | |
| QHash<QString, QVariant> | fields() const |
| QHash<QString, QVariant> & | fieldsRef() |
| void | setFields(const QHash<QString, QVariant> &fields) |
| void | setStructureDefinition(const QOpcUaStructureDefinition &structureDefinition) |
| void | setTypeId(const QString &typeId) |
| void | setTypeName(const QString &typeName) |
| QOpcUaStructureDefinition | structureDefinition() const |
| void | swap(QOpcUaGenericStructValue &other) |
| QString | toString() const |
| QString | typeId() const |
| QString | typeName() const |
| operator QVariant() const | |
| QOpcUaGenericStructValue & | operator=(QOpcUaGenericStructValue &&other) |
| QOpcUaGenericStructValue & | operator=(const QOpcUaGenericStructValue &rhs) |
Éléments non membres associés
| bool | operator!=(const QOpcUaGenericStructValue &lhs, const QOpcUaGenericStructValue &rhs) |
| QDebug | operator<<(QDebug debug, const QOpcUaGenericStructValue &s) |
| bool | operator==(const QOpcUaGenericStructValue &lhs, const QOpcUaGenericStructValue &rhs) |
Description détaillée
Cette classe contient une valeur de structure générique OPC UA composée de champs nommés et de leurs valeurs, qui peuvent être des types intégrés ou leurs sous-types, ainsi que d’autres structures génériques imbriquées. Elle inclut également certaines méta-informations, telles que l’identifiant du type et la définition de la structure du type contenu dans un objet de cette classe.
Elle est utilisée comme type de retour pour le résultat du décodage et comme type d'entrée pour la méthode d'encodage de ` QOpcUaGenericStructHandler`.
Pour une structure comportant des champs facultatifs, seuls les champs spécifiés figurent dans la liste de ` fields() `. Pour omettre un champ facultatif lors de l’encodage, celui-ci ne doit pas apparaître dans la liste de ` fields()`. Pour les structures dérivées du type Union, un seul des champs doit être spécifié. La seule entrée de la liste fields() d’un type décodé détermine quel champ (le cas échéant) de la définition du type a été spécifié.
Exemple :
// Décoder un objet d’extension
QOpcUaGenericStructValue value = decoder.decode(extensionObject, success);
// Afficher la valeur d'un champ obligatoire
qDebug() << value.fields().value("MyField").value<QOpcUaLocalizedText>();
// Afficher la valeur d'un champ facultatif
if (value.fields().contains("MyOptionalField"))
qDebug() << value.fields().value("MyField").value<QOpcUaQualifiedName>();
// Récupérer une structure imbriquée pour un champ
const auto unionMember = value.fields().value("MyUnionMember").value<QOpcUaGenericStructValue>();
// Afficher le champ spécifié
if (unionMember.fields().contains("UnionMember1"))
qDebug() << unionMember.fields().value("UnionMember1").toInt();
else if (unionMember.fields().contains("UnionMember2"))
qDebug() << unionMember.fields().value("UnionMember2").toDouble();
sinon
qDebug() << "Empty union";Documentation sur les fonctions des membres
QOpcUaGenericStructValue::QOpcUaGenericStructValue()
Crée une valeur de structure générique.
QOpcUaGenericStructValue::QOpcUaGenericStructValue(const QString &typeName, const QString &typeId, const QOpcUaStructureDefinition &definition)
Construit une valeur de structure générique à partir de typeName, typeId et definition.
QOpcUaGenericStructValue::QOpcUaGenericStructValue(const QString &typeName, const QString &typeId, const QOpcUaStructureDefinition &definition, const QHash<QString, QVariant> &fields)
Construit une valeur de structure générique à partir de typeName, typeId, definition et fields.
QOpcUaGenericStructValue::QOpcUaGenericStructValue(const QOpcUaGenericStructValue &other)
Construit une valeur de structure générique à partir de other.
[constexpr noexcept default] QOpcUaGenericStructValue::QOpcUaGenericStructValue(QOpcUaGenericStructValue &&other)
Crée une nouvelle valeur de structure générique à partir de other.
Remarque : l'objet d'origine other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l'affectation d'une nouvelle valeur.
[noexcept] QOpcUaGenericStructValue::~QOpcUaGenericStructValue()
Détruit cet objet de type « struct » générique.
QHash<QString, QVariant> QOpcUaGenericStructValue::fields() const
Renvoie les champs de cette valeur de structure générique.
Voir aussi setFields().
QHash<QString, QVariant> &QOpcUaGenericStructValue::fieldsRef()
Renvoie une référence aux champs de cette valeur de structure générique.
void QOpcUaGenericStructValue::setFields(const QHash<QString, QVariant> &fields)
Définit les champs de cette valeur de structure générique sur fields.
Voir aussi fields().
void QOpcUaGenericStructValue::setStructureDefinition(const QOpcUaStructureDefinition &structureDefinition)
Définit la structure de cette valeur de type « struct » générique sur structureDefinition.
Voir également structureDefinition().
void QOpcUaGenericStructValue::setTypeId(const QString &typeId)
Définit l'identifiant de nœud de type de cette valeur de structure générique sur typeId.
Voir également typeId().
void QOpcUaGenericStructValue::setTypeName(const QString &typeName)
Définit le nom du type de cette valeur de structure générique sur « typeName ».
Voir également typeName().
QOpcUaStructureDefinition QOpcUaGenericStructValue::structureDefinition() const
Renvoie la définition de la structure pour cette valeur de structure générique.
Voir également setStructureDefinition().
[noexcept] void QOpcUaGenericStructValue::swap(QOpcUaGenericStructValue &other)
Permet d'échanger l'objet de valeur de structure générique other contre cet objet de valeur de structure générique. Cette opération est très rapide et ne peut jamais échouer.
QString QOpcUaGenericStructValue::toString() const
Renvoie une représentation sous forme de chaîne de caractères de cette valeur de structure générique.
QString QOpcUaGenericStructValue::typeId() const
Renvoie l'identifiant de nœud de type correspondant à cette valeur de structure générique.
Voir également setTypeId().
QString QOpcUaGenericStructValue::typeName() const
Renvoie le nom du type correspondant à cette valeur de structure générique.
Voir aussi setTypeName().
QOpcUaGenericStructValue::operator QVariant() const
Renvoie une structure « QVariant » contenant la valeur de cette structure générique.
[noexcept] QOpcUaGenericStructValue &QOpcUaGenericStructValue::operator=(QOpcUaGenericStructValue &&other)
Cette opération attribue other à cette instance de QOpcUaGenericStructValue.
Remarque : l’objet d’origine other est placé dans un état partiellement formé, dans lequel les seules opérations valides sont la destruction et l’affectation d’une nouvelle valeur.
QOpcUaGenericStructValue &QOpcUaGenericStructValue::operator=(const QOpcUaGenericStructValue &rhs)
Définit la valeur de « rhs » dans cette valeur de structure générique.
Éléments non membres associés
[noexcept] bool operator!=(const QOpcUaGenericStructValue &lhs, const QOpcUaGenericStructValue &rhs)
Renvoie « true » si « lhs » n'est pas égal à « rhs ».
QDebug operator<<(QDebug debug, const QOpcUaGenericStructValue &s)
Affiche la représentation sous forme de chaîne de caractères de ` s ` dans ` debug`.
[noexcept] bool operator==(const QOpcUaGenericStructValue &lhs, const QOpcUaGenericStructValue &rhs)
Renvoie « true » si « lhs » est égal à « rhs ».
© 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.