QItemModelScatterDataProxy Class

Proxy-Klasse zur Darstellung von Daten in Artikelmodellen mit Q3DScatter. Mehr...

Kopfzeile: #include <QItemModelScatterDataProxy>
CMake: find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake: QT += datavisualization
Since: QtDataVisualization 1.0
In QML: ItemModelScatterDataProxy
Vererbt: QScatterDataProxy

Eigenschaften

Öffentliche Funktionen

QItemModelScatterDataProxy(QObject *parent = nullptr)
QItemModelScatterDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)
QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, QObject *parent = nullptr)
QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole, QObject *parent = nullptr)
virtual ~QItemModelScatterDataProxy()
QAbstractItemModel *itemModel() const
void remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole)
QString rotationRole() const
QRegularExpression rotationRolePattern() const
QString rotationRoleReplace() const
void setItemModel(QAbstractItemModel *itemModel)
void setRotationRole(const QString &role)
void setRotationRolePattern(const QRegularExpression &pattern)
void setRotationRoleReplace(const QString &replace)
void setXPosRole(const QString &role)
void setXPosRolePattern(const QRegularExpression &pattern)
void setXPosRoleReplace(const QString &replace)
void setYPosRole(const QString &role)
void setYPosRolePattern(const QRegularExpression &pattern)
void setYPosRoleReplace(const QString &replace)
void setZPosRole(const QString &role)
void setZPosRolePattern(const QRegularExpression &pattern)
void setZPosRoleReplace(const QString &replace)
QString xPosRole() const
QRegularExpression xPosRolePattern() const
QString xPosRoleReplace() const
QString yPosRole() const
QRegularExpression yPosRolePattern() const
QString yPosRoleReplace() const
QString zPosRole() const
QRegularExpression zPosRolePattern() const
QString zPosRoleReplace() const

Signale

void itemModelChanged(const QAbstractItemModel *itemModel)
void rotationRoleChanged(const QString &role)
void rotationRolePatternChanged(const QRegularExpression &pattern)
void rotationRoleReplaceChanged(const QString &replace)
void xPosRoleChanged(const QString &role)
void xPosRolePatternChanged(const QRegularExpression &pattern)
void xPosRoleReplaceChanged(const QString &replace)
void yPosRoleChanged(const QString &role)
void yPosRolePatternChanged(const QRegularExpression &pattern)
void yPosRoleReplaceChanged(const QString &replace)
void zPosRoleChanged(const QString &role)
void zPosRolePatternChanged(const QRegularExpression &pattern)
void zPosRoleReplaceChanged(const QString &replace)

Detaillierte Beschreibung

QItemModelScatterDataProxy ermöglicht es Ihnen, QAbstractItemModel abgeleitete Modelle als Datenquelle für Q3DScatter zu verwenden. Es bildet Rollen von QAbstractItemModel auf die XYZ-Werte von Q3DScatter Punkten ab.

Die Daten werden asynchron aufgelöst, sobald sich das Mapping oder das Modell ändert. QScatterDataProxy::arrayReset() wird ausgegeben, wenn die Daten aufgelöst wurden. Einfügungen, Entfernungen und Änderungen einzelner Datenelemente nach der Modellinitialisierung werden jedoch synchron aufgelöst, es sei denn, derselbe Rahmen enthält auch eine Änderung, die eine Auflösung des gesamten Modells erfordert.

Mapping ignoriert Zeilen und Spalten der QAbstractItemModel und behandelt alle Elemente gleich. Es erfordert, dass das Modell Rollen für die Datenelemente bereitstellt, die auf X-, Y- und Z-Werte für die Streupunkte abgebildet werden können.

Nehmen wir zum Beispiel an, dass Sie eine benutzerdefinierte QAbstractItemModel zur Speicherung verschiedener Messungen an Materialproben haben, die Daten für Rollen wie "Dichte", "Härte" und "Leitfähigkeit" bereitstellen. Sie könnten diese Eigenschaften mit Hilfe dieses Proxys in einem Streudiagramm darstellen:

// Map "density" value to X-axis, "hardness" to Y-axis and "conductivity" to Z-axis.
QItemModelScatterDataProxy *proxy = new QItemModelScatterDataProxy(customModel,
                                                                   QStringLiteral("density"),
                                                                   QStringLiteral("hardness"),
                                                                   QStringLiteral("conductivity"));

Wenn die Felder des Modells die Daten nicht genau in dem von Ihnen benötigten Format enthalten, können Sie für jede Rolle ein Suchmuster, einen regulären Ausdruck und eine Ersetzungsregel angeben, um den Wert in dem von Ihnen benötigten Format zu erhalten. Weitere Informationen darüber, wie das Ersetzen mit regulären Ausdrücken funktioniert, finden Sie in der Dokumentation der Funktion QString::replace(const QRegularExpression &rx, const QString &after). Beachten Sie, dass die Verwendung regulärer Ausdrücke Auswirkungen auf die Leistung hat. Daher ist es effizienter, Elementmodelle zu verwenden, bei denen Suchen und Ersetzen nicht notwendig ist, um die gewünschten Werte zu erhalten.

Ein Beispiel für die Verwendung von Suchmustern in Verbindung mit den Rollen finden Sie unter ItemModelBarDataProxy usage in Simple Bar Graph example.

Siehe auch Qt Data Visualization Datenverarbeitung.

Dokumentation der Eigenschaften

itemModel : QAbstractItemModel*

Diese Eigenschaft enthält das Elementmodell, das als Datenquelle für eine 3D-Streuungsreihe verwendet werden soll.

Zugriffsfunktionen:

QAbstractItemModel *itemModel() const
void setItemModel(QAbstractItemModel *itemModel)

Benachrichtigungssignal:

void itemModelChanged(const QAbstractItemModel *itemModel)

rotationRole : QString

Diese Eigenschaft enthält die Rolle des Artikelmodells, die auf die Artikeldrehung abgebildet werden soll.

Das Modell kann den Wert für die Drehung entweder als Variante liefern, die direkt in QQuaternion konvertierbar ist, oder als eine der String-Darstellungen: "scalar,x,y,z" oder "@angle,x,y,z". Bei der ersten wird die Quaternion direkt mit den angegebenen Werten konstruiert, bei der zweiten wird die Quaternion mithilfe der Methode QQuaternion::fromAxisAndAngle() konstruiert.

Zugriffsfunktionen:

QString rotationRole() const
void setRotationRole(const QString &role)

Benachrichtigungssignal:

void rotationRoleChanged(const QString &role)

rotationRolePattern : QRegularExpression

Diese Eigenschaft gibt an, ob der durch die Rotationsrolle zugeordnete Wert gesucht und ersetzt werden soll, bevor er als Elementrotation verwendet wird.

Diese Eigenschaft gibt den regulären Ausdruck an, um den zu ersetzenden Teil des zugeordneten Wertes zu finden, und die Eigenschaft rotationRoleReplace enthält die Ersetzungszeichenfolge.

Zugriffsfunktionen:

QRegularExpression rotationRolePattern() const
void setRotationRolePattern(const QRegularExpression &pattern)

Benachrichtigungssignal:

void rotationRolePatternChanged(const QRegularExpression &pattern)

Siehe auch rotationRole und rotationRoleReplace.

rotationRoleReplace : QString

Diese Eigenschaft enthält den Ersetzungsinhalt, der in Verbindung mit dem Rotationsrollenmuster verwendet werden soll.

Der Standardwert ist eine leere Zeichenkette. Weitere Informationen darüber, wie das Suchen und Ersetzen mit regulären Ausdrücken funktioniert, finden Sie in der Dokumentation der Funktion QString::replace(const QRegularExpression &rx, const QString &after).

Zugriffsfunktionen:

QString rotationRoleReplace() const
void setRotationRoleReplace(const QString &replace)

Benachrichtigungssignal:

void rotationRoleReplaceChanged(const QString &replace)

Siehe auch rotationRole und rotationRolePattern.

xPosRole : QString

Diese Eigenschaft enthält die Rolle des Positionsmodells, die der X-Position zugeordnet werden soll.

Zugriffsfunktionen:

QString xPosRole() const
void setXPosRole(const QString &role)

Melder-Signal:

void xPosRoleChanged(const QString &role)

xPosRolePattern : QRegularExpression

Diese Eigenschaft gibt an, ob der durch die x-Position-Rolle zugeordnete Wert gesucht und ersetzt wird, bevor er als Positionswert verwendet wird.

Diese Eigenschaft gibt den regulären Ausdruck an, um den zu ersetzenden Teil des zugeordneten Wertes zu finden, und die Eigenschaft xPosRoleReplace enthält die Ersetzungszeichenfolge.

Zugriffsfunktionen:

QRegularExpression xPosRolePattern() const
void setXPosRolePattern(const QRegularExpression &pattern)

Benachrichtigungssignal:

void xPosRolePatternChanged(const QRegularExpression &pattern)

Siehe auch xPosRole und xPosRoleReplace.

xPosRoleReplace : QString

Diese Eigenschaft enthält den Ersetzungsinhalt, der in Verbindung mit dem Rollenmuster x position verwendet wird.

Der Standardwert ist eine leere Zeichenkette. Weitere Informationen darüber, wie das Suchen und Ersetzen mit regulären Ausdrücken funktioniert, finden Sie in der Dokumentation der Funktion QString::replace(const QRegularExpression &rx, const QString &after).

Zugriffsfunktionen:

QString xPosRoleReplace() const
void setXPosRoleReplace(const QString &replace)

Benachrichtigungssignal:

void xPosRoleReplaceChanged(const QString &replace)

Siehe auch xPosRole und xPosRolePattern.

yPosRole : QString

Diese Eigenschaft enthält die Rolle des Positionsmodells, die der Y-Position zugeordnet werden soll.

Zugriffsfunktionen:

QString yPosRole() const
void setYPosRole(const QString &role)

Melder-Signal:

void yPosRoleChanged(const QString &role)

yPosRolePattern : QRegularExpression

Diese Eigenschaft gibt an, ob der durch die y-Positionsrolle zugeordnete Wert gesucht und ersetzt wird, bevor er als Positionswert verwendet wird.

Diese Eigenschaft gibt den regulären Ausdruck an, um den zu ersetzenden Teil des zugeordneten Wertes zu finden, und die Eigenschaft yPosRoleReplace enthält die Ersetzungszeichenfolge.

Zugriffsfunktionen:

QRegularExpression yPosRolePattern() const
void setYPosRolePattern(const QRegularExpression &pattern)

Benachrichtigungssignal:

void yPosRolePatternChanged(const QRegularExpression &pattern)

Siehe auch yPosRole und yPosRoleReplace.

yPosRoleReplace : QString

Diese Eigenschaft enthält den Replace-Inhalt, der in Verbindung mit dem Rollenmuster y position verwendet werden soll.

Der Standardwert ist eine leere Zeichenkette. Weitere Informationen darüber, wie das Suchen und Ersetzen mit regulären Ausdrücken funktioniert, finden Sie in der Dokumentation der Funktion QString::replace(const QRegularExpression &rx, const QString &after).

Zugriffsfunktionen:

QString yPosRoleReplace() const
void setYPosRoleReplace(const QString &replace)

Benachrichtigungssignal:

void yPosRoleReplaceChanged(const QString &replace)

Siehe auch yPosRole und yPosRolePattern.

zPosRole : QString

Diese Eigenschaft enthält die Rolle des Positionsmodells, die der Z-Position zugeordnet werden soll.

Zugriffsfunktionen:

QString zPosRole() const
void setZPosRole(const QString &role)

Melder-Signal:

void zPosRoleChanged(const QString &role)

zPosRolePattern : QRegularExpression

Diese Eigenschaft gibt an, ob der durch die z-Position-Rolle zugeordnete Wert gesucht und ersetzt wird, bevor er als Positionswert verwendet wird.

Diese Eigenschaft gibt den regulären Ausdruck an, um den zu ersetzenden Teil des zugeordneten Wertes zu finden, und die Eigenschaft zPosRoleReplace enthält die Ersetzungszeichenfolge.

Zugriffsfunktionen:

QRegularExpression zPosRolePattern() const
void setZPosRolePattern(const QRegularExpression &pattern)

Benachrichtigungssignal:

void zPosRolePatternChanged(const QRegularExpression &pattern)

Siehe auch zPosRole und zPosRoleReplace.

zPosRoleReplace : QString

Diese Eigenschaft enthält den Ersetzungsinhalt, der in Verbindung mit dem Rollenmuster z position verwendet wird.

Der Standardwert ist eine leere Zeichenkette. Weitere Informationen darüber, wie das Suchen und Ersetzen mit regulären Ausdrücken funktioniert, finden Sie in der Dokumentation der Funktion QString::replace(const QRegularExpression &rx, const QString &after).

Zugriffsfunktionen:

QString zPosRoleReplace() const
void setZPosRoleReplace(const QString &replace)

Benachrichtigungssignal:

void zPosRoleReplaceChanged(const QString &replace)

Siehe auch zPosRole und zPosRolePattern.

Dokumentation der Mitgliedsfunktionen

[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QObject *parent = nullptr)

Konstruiert QItemModelScatterDataProxy mit optionalem parent.

[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)

Konstruiert QItemModelScatterDataProxy mit itemModel und optional parent. Der Proxy übernimmt nicht das Eigentum an itemModel, da Elementmodelle in der Regel Eigentum anderer Steuerelemente sind.

[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, QObject *parent = nullptr)

Konstruiert QItemModelScatterDataProxy mit itemModel und optional parent. Der Proxy übernimmt nicht das Eigentum an itemModel, da Elementmodelle normalerweise anderen Steuerelementen gehören. Die Eigenschaft xPosRole wird auf xPosRole, yPosRole auf yPosRole und zPosRole auf zPosRole gesetzt.

[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole, QObject *parent = nullptr)

Konstruiert QItemModelScatterDataProxy mit itemModel und optional parent. Der Proxy übernimmt nicht das Eigentum an itemModel, da Elementmodelle normalerweise anderen Steuerelementen gehören. Die Eigenschaft xPosRole wird auf xPosRole, die Eigenschaft yPosRole auf yPosRole, die Eigenschaft zPosRole auf zPosRole und die Eigenschaft rotationRole auf rotationRole gesetzt.

[virtual noexcept] QItemModelScatterDataProxy::~QItemModelScatterDataProxy()

Zerstört QItemModelScatterDataProxy.

void QItemModelScatterDataProxy::remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole)

Änderung der Zuordnungen xPosRole, yPosRole, zPosRole und rotationRole.

void QItemModelScatterDataProxy::setItemModel(QAbstractItemModel *itemModel)

Legt itemModel als das Objektmodell für Q3DScatter fest. Übernimmt nicht die Verantwortung für das Modell, stellt aber eine Verbindung zu ihm her, um auf Änderungen zu warten.

Hinweis: Setter-Funktion für die Eigenschaft itemModel.

Siehe auch itemModel().

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