Auf dieser Seite

QOpcUaGenericStructValue Class

Enthält den Wert eines generischen strukturierten OPC-UA-Typs. Mehr...

Header: #include <QOpcUaGenericStructValue>
CMake: find_package(Qt6 REQUIRED COMPONENTS OpcUa)
target_link_libraries(mytarget PRIVATE Qt6::OpcUa)
qmake: QT += opcua
Seit: Qt 6.7

Öffentliche Funktionen

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)
bool operator!=(const QOpcUaGenericStructValue &lhs, const QOpcUaGenericStructValue &rhs)
QDebug operator<<(QDebug debug, const QOpcUaGenericStructValue &s)
bool operator==(const QOpcUaGenericStructValue &lhs, const QOpcUaGenericStructValue &rhs)

Ausführliche Beschreibung

Diese Klasse enthält einen generischen OPC-UA-Strukturwert, der aus benannten Feldern mit ihren Werten besteht, bei denen es sich um integrierte Typen oder deren Untertypen sowie um andere verschachtelte generische Strukturen handeln kann. Einige Metainformationen wie die Typ-ID und die Strukturdefinition des in einem Objekt dieser Klasse enthaltenen Typs sind ebenfalls enthalten.

Sie wird als Rückgabetyp für das Dekodierungsergebnis und als Eingabetyp für die Kodierungsmethode von ` QOpcUaGenericStructHandler` verwendet.

Bei einer Struktur mit optionalen Feldern sind nur die Felder, die angegeben wurden, in der Liste „ fields() “ enthalten. Um ein optionales Feld bei der Kodierung wegzulassen, darf es nicht in der Liste „ fields()“ erscheinen. Bei vom Typ `Union` abgeleiteten Strukturen muss nur eines der Felder angegeben werden. Der einzige Eintrag in der Liste ` fields()` eines dekodierten Typs bestimmt, welches Feld (falls vorhanden) der Typdefinition angegeben wurde.

Beispiel:

// Ein Erweiterungsobjekt dekodieren
QOpcUaGenericStructValue value = decoder.decode(extensionObject, success);

// Den Wert eines obligatorischen Feldes ausgeben
qDebug() << value.fields().value("MyField").value<QOpcUaLocalizedText>();

// Den Wert eines optionalen Feldes ausgeben
if (value.fields().contains("MyOptionalField"))
    qDebug() << value.fields().value("MyField").value<QOpcUaQualifiedName>();

// Eine verschachtelte Struktur für ein Feld abrufen
const auto unionMember = value.fields().value("MyUnionMember").value<QOpcUaGenericStructValue>();

// Das angegebene Feld ausgeben
if (unionMember.fields().contains("UnionMember1"))
    qDebug() << unionMember.fields().value("UnionMember1").toInt();
else if (unionMember.fields().contains("UnionMember2"))
    qDebug() << unionMember.fields().value("UnionMember2").toDouble();
sonst
    qDebug() << "Empty union";

Dokumentation zu Member-Funktionen

QOpcUaGenericStructValue::QOpcUaGenericStructValue()

Erstellt einen generischen Strukturwert.

QOpcUaGenericStructValue::QOpcUaGenericStructValue(const QString &typeName, const QString &typeId, const QOpcUaStructureDefinition &definition)

Erstellt einen generischen Strukturwert aus typeName, typeId und definition.

QOpcUaGenericStructValue::QOpcUaGenericStructValue(const QString &typeName, const QString &typeId, const QOpcUaStructureDefinition &definition, const QHash<QString, QVariant> &fields)

Erstellt einen generischen Strukturwert aus typeName, typeId, definition und fields.

QOpcUaGenericStructValue::QOpcUaGenericStructValue(const QOpcUaGenericStructValue &other)

Erstellt einen generischen Strukturwert aus „ other “.

[constexpr noexcept default] QOpcUaGenericStructValue::QOpcUaGenericStructValue(QOpcUaGenericStructValue &&other)

Erstellt durch „Move“ einen neuen generischen Strukturwert aus other.

Hinweis: Das Objekt „ other “, aus dem der Wert verschoben wurde, befindet sich in einem teilweise ausgebildeten Zustand, in dem die einzigen zulässigen Operationen die Zerstörung und die Zuweisung eines neuen Werts sind.

[noexcept] QOpcUaGenericStructValue::~QOpcUaGenericStructValue()

Löscht dieses generische Strukturwertobjekt.

QHash<QString, QVariant> QOpcUaGenericStructValue::fields() const

Gibt die Felder dieses generischen Strukturwerts zurück.

Siehe auch ` setFields()`.

QHash<QString, QVariant> &QOpcUaGenericStructValue::fieldsRef()

Gibt eine Referenz auf die Felder dieses generischen Strukturwerts zurück.

void QOpcUaGenericStructValue::setFields(const QHash<QString, QVariant> &fields)

Setzt die Felder dieses generischen Strukturwerts auf „ fields “.

Siehe auch fields().

void QOpcUaGenericStructValue::setStructureDefinition(const QOpcUaStructureDefinition &structureDefinition)

Legt die Strukturdefinition für diesen generischen Strukturwert auf „ structureDefinition “ fest.

Siehe auch „ structureDefinition()“.

void QOpcUaGenericStructValue::setTypeId(const QString &typeId)

Setzt die Typknoten-ID für diesen Wert der generischen Struktur auf „ typeId “.

Siehe auch typeId().

void QOpcUaGenericStructValue::setTypeName(const QString &typeName)

Legt den Typnamen für diesen Wert der generischen Struktur auf „ typeName “ fest.

Siehe auch ` typeName()`.

QOpcUaStructureDefinition QOpcUaGenericStructValue::structureDefinition() const

Gibt die Strukturdefinition für diesen generischen Strukturwert zurück.

Siehe auch ` setStructureDefinition()`.

[noexcept] void QOpcUaGenericStructValue::swap(QOpcUaGenericStructValue &other)

Tauscht das generische Strukturwert-Objekt „ other “ gegen dieses generische Strukturwert-Objekt aus. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.

QString QOpcUaGenericStructValue::toString() const

Gibt eine Zeichenfolgenrepräsentation für diesen Wert der generischen Struktur zurück.

QString QOpcUaGenericStructValue::typeId() const

Gibt die Typknoten-ID für diesen Wert der generischen Struktur zurück.

Siehe auch ` setTypeId()`.

QString QOpcUaGenericStructValue::typeName() const

Gibt den Typnamen für diesen Wert der generischen Struktur zurück.

Siehe auch ` setTypeName()`.

QOpcUaGenericStructValue::operator QVariant() const

Gibt ein ` QVariant ` zurück, das diesen Wert der generischen Struktur enthält.

[noexcept] QOpcUaGenericStructValue &QOpcUaGenericStructValue::operator=(QOpcUaGenericStructValue &&other)

Weist „ other “ dieser Instanz von „ QOpcUaGenericStructValue “ zu.

Hinweis: Das verschobene Objekt other befindet sich in einem teilweise initialisierten Zustand, in dem die einzigen zulässigen Operationen die Zerstörung und die Zuweisung eines neuen Werts sind.

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

Setzt den Wert von „ rhs “ in dieser generischen Struktur auf „value“.

Verwandte Nicht-Mitglieder

[noexcept] bool operator!=(const QOpcUaGenericStructValue &lhs, const QOpcUaGenericStructValue &rhs)

Gibt „ true “ zurück, wenn „ lhs “ nicht gleich „ rhs “ ist.

QDebug operator<<(QDebug debug, const QOpcUaGenericStructValue &s)

Gibt die Zeichenfolgendarstellung von „ s “ in „ debug “ aus.

[noexcept] bool operator==(const QOpcUaGenericStructValue &lhs, const QOpcUaGenericStructValue &rhs)

Gibt „ true “ zurück, wenn „ lhs “ gleich „ rhs “ ist.

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