QItemModelScatterDataProxy Class
Proxy-Klasse zur Darstellung von Daten in Item-Modellen mit „ Q3DScatter “. Mehr...
| Header: | #include <QItemModelScatterDataProxy> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS DataVisualization) target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
| qmake: | QT += datavisualization |
| Seit: | QtDataVisualization 1.0 |
| In QML: | ItemModelScatterDataProxy |
| Erbt von: | QScatterDataProxy |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
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) |
Ausführliche Beschreibung
Mit `QItemModelScatterDataProxy` können Sie von ` QAbstractItemModel ` abgeleitete Modelle als Datenquelle für ` Q3DScatter` verwenden. Es ordnet die Rollen von ` QAbstractItemModel ` den XYZ-Werten der Punkte in ` Q3DScatter ` zu.
Die Daten werden asynchron aufgelöst, sobald sich die Zuordnung oder das Modell ändert. QScatterDataProxy::arrayReset() wird ausgegeben, sobald die Daten aufgelöst wurden. Einfügungen, Löschungen und Änderungen einzelner Datenelemente nach der Modellinitialisierung werden jedoch synchron aufgelöst, es sei denn, derselbe Frame enthält auch eine Änderung, die eine Neuauflösung des gesamten Modells auslöst.
Das Mapping ignoriert Zeilen und Spalten des „ QAbstractItemModel “ und behandelt alle Elemente gleich. Es setzt voraus, dass das Modell Rollen für die Datenelemente bereitstellt, die den X-, Y- und Z-Werten der Streupunkte zugeordnet werden können.
Nehmen wir beispielsweise an, Sie haben ein benutzerdefiniertes „ QAbstractItemModel “ zur Speicherung verschiedener Messungen an Materialproben, das Daten für Rollen wie „Dichte“, „Härte“ und „Leitfähigkeit“ bereitstellt. Sie könnten diese Eigenschaften mithilfe dieses Proxys in einem Streudiagramm visualisieren:
// 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 einen regulären Ausdruck als Suchmuster und eine Ersetzungsregel angeben, um den Wert in das gewünschte Format zu bringen. Weitere Informationen zur Funktionsweise des Ersetzens mit regulären Ausdrücken finden Sie in der Funktionsdokumentation zu „ 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 kein Suchen und Ersetzen erforderlich ist, um die gewünschten Werte zu erhalten.
Beispiele für die Verwendung der Suchmuster in Verbindung mit den Rollen finden Sie unter ItemModelBarDataProxy im Beispiel „Einfaches Balkendiagramm “.
Siehe auch „Qt Data Visualization -Datenverarbeitung“.
Dokumentation zu Eigenschaften
itemModel : QAbstractItemModel*
Diese Eigenschaft enthält das Elementmodell, das als Datenquelle für eine 3D-Streudiagrammreihe verwendet werden soll.
Zugriffsfunktionen:
| QAbstractItemModel * | itemModel() const |
| void | setItemModel(QAbstractItemModel *itemModel) |
Benachrichtigungssignal:
| void | itemModelChanged(const QAbstractItemModel *itemModel) |
rotationRole : QString
Diese Eigenschaft hat die Rolle „Item-Modell“, um eine Zuordnung zur Item-Rotation vorzunehmen.
Das Modell kann den Wert für die Rotation entweder als Variante bereitstellen, die direkt in „ QQuaternion “ konvertierbar ist, oder als eine der folgenden Zeichenfolgendarstellungen: „ "scalar,x,y,z" “ oder „ "@angle,x,y,z" “. Im ersten Fall wird das Quaternion direkt mit den angegebenen Werten erstellt, im zweiten Fall wird das Quaternion mithilfe der Methode „ QQuaternion::fromAxisAndAngle()“ erstellt.
Zugriffsfunktionen:
| QString | rotationRole() const |
| void | setRotationRole(const QString &role) |
Benachrichtigungssignal:
| void | rotationRoleChanged(const QString &role) |
rotationRolePattern : QRegularExpression
Diese Eigenschaft legt fest, ob der von der Rotationsrolle zugeordnete Wert vor seiner Verwendung als Elementrotation gesucht und ersetzt wird.
Diese Eigenschaft gibt den regulären Ausdruck an, mit dem der zu ersetzende Teil des zugeordneten Werts gesucht wird, und die Eigenschaft „ rotationRoleReplace “ enthält die Ersatzzeichenfolge.
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 wird.
Standardmäßig ist dies eine leere Zeichenkette. Weitere Informationen zur Funktionsweise der Suche und des Ersetzens mit regulären Ausdrücken finden Sie in der Funktionsdokumentation zu „ QString::replace “ (const QRegularExpression &rx, const QString &after).
Zugriffsfunktionen:
| QString | rotationRoleReplace() const |
| void | setRotationRoleReplace(const QString &replace) |
Notifier-Signal:
| void | rotationRoleReplaceChanged(const QString &replace) |
Siehe auch rotationRole und rotationRolePattern.
xPosRole : QString
Diese Eigenschaft enthält die Rolle des Elementmodells, die der X-Position zugeordnet werden soll.
Zugriffsfunktionen:
| QString | xPosRole() const |
| void | setXPosRole(const QString &role) |
Benachrichtigungssignal:
| void | xPosRoleChanged(const QString &role) |
xPosRolePattern : QRegularExpression
Diese Eigenschaft legt fest, ob der durch die Rolle „x-Position“ zugeordnete Wert gesucht und ersetzt wird, bevor er als Elementpositionswert verwendet wird.
Diese Eigenschaft gibt den regulären Ausdruck an, mit dem der zu ersetzende Teil des zugeordneten Werts gefunden wird, und die Eigenschaft „ xPosRoleReplace “ enthält die Ersatzzeichenfolge.
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 Ersatzinhalt, der in Verbindung mit dem Positionsmuster „x“ verwendet werden soll.
Der Standardwert ist eine leere Zeichenkette. Weitere Informationen zur Funktionsweise der Suche und des Ersetzens mit regulären Ausdrücken finden Sie in der Funktionsdokumentation zu „ QString::replace “ (const QRegularExpression &rx, const QString &after).
Zugriffsfunktionen:
| QString | xPosRoleReplace() const |
| void | setXPosRoleReplace(const QString &replace) |
Notifier-Signal:
| void | xPosRoleReplaceChanged(const QString &replace) |
Siehe auch xPosRole und xPosRolePattern.
yPosRole : QString
Diese Eigenschaft enthält die Rolle des Elementmodells, die der Y-Position zugeordnet werden soll.
Zugriffsfunktionen:
| QString | yPosRole() const |
| void | setYPosRole(const QString &role) |
Benachrichtigungssignal:
| void | yPosRoleChanged(const QString &role) |
yPosRolePattern : QRegularExpression
Diese Eigenschaft legt fest, ob der durch die Rolle „y-Position“ zugeordnete Wert vor seiner Verwendung als Elementpositionswert durchsucht und ersetzt wird.
Diese Eigenschaft gibt den regulären Ausdruck an, mit dem der zu ersetzende Teil des zugeordneten Werts gesucht wird, und die Eigenschaft „ yPosRoleReplace “ enthält die Ersatzzeichenfolge.
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 Ersetzungsinhalt, der in Verbindung mit dem Positionsmuster „y“ verwendet werden soll.
Standardmäßig ist dies eine leere Zeichenfolge. Weitere Informationen zur Funktionsweise der Suche und des Ersetzens mit regulären Ausdrücken finden Sie in der Funktionsdokumentation zu „ QString::replace “ (const QRegularExpression &rx, const QString &after).
Zugriffsfunktionen:
| QString | yPosRoleReplace() const |
| void | setYPosRoleReplace(const QString &replace) |
Notifier-Signal:
| void | yPosRoleReplaceChanged(const QString &replace) |
Siehe auch yPosRole und yPosRolePattern.
zPosRole : QString
Diese Eigenschaft übernimmt die Rolle des Elementmodells für die Zuordnung zur Z-Position.
Zugriffsfunktionen:
| QString | zPosRole() const |
| void | setZPosRole(const QString &role) |
Benachrichtigungssignal:
| void | zPosRoleChanged(const QString &role) |
zPosRolePattern : QRegularExpression
Diese Eigenschaft legt fest, ob der durch die Rolle „z-Position“ zugeordnete Wert vor seiner Verwendung als Elementpositionswert gesucht und ersetzt wird.
Diese Eigenschaft gibt den regulären Ausdruck an, mit dem der zu ersetzende Teil des zugeordneten Werts gesucht wird, und die Eigenschaft „ zPosRoleReplace “ enthält die Ersatzzeichenfolge.
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 Muster „z-position“ verwendet werden soll.
Der Standardwert ist eine leere Zeichenfolge. Weitere Informationen zur Funktionsweise der Suche und des Ersetzens mit regulären Ausdrücken finden Sie in der Dokumentation zur 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)
Erstellt ein `QItemModelScatterDataProxy` mit optionalem ` parent`.
[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)
Erstellt ein `QItemModelScatterDataProxy` mit ` itemModel ` und optional ` parent`. Der Proxy übernimmt nicht die Eigentümerschaft an ` itemModel`, da Item-Modelle in der Regel anderen Steuerelementen gehören.
[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, QObject *parent = nullptr)
Erstellt ein `QItemModelScatterDataProxy` mit ` itemModel ` und optional ` parent`. Der Proxy übernimmt nicht die Eigentümerschaft an ` itemModel`, da Item-Modelle in der Regel anderen Steuerelementen gehören. Die Eigenschaft ` xPosRole ` wird auf ` xPosRole` gesetzt, die Eigenschaft ` yPosRole ` auf ` yPosRole` und die Eigenschaft ` zPosRole ` auf ` zPosRole`.
[explicit] QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole, QObject *parent = nullptr)
Erstellt ein `QItemModelScatterDataProxy` mit ` itemModel ` und optional ` parent`. Der Proxy übernimmt nicht die Eigentümerschaft an ` itemModel`, da Item-Modelle in der Regel anderen Steuerelementen gehören. Die Eigenschaft ` xPosRole ` wird auf ` xPosRole` gesetzt, die Eigenschaft ` yPosRole ` auf ` yPosRole`, die Eigenschaft ` zPosRole ` auf ` zPosRole` und die Eigenschaft ` rotationRole ` auf ` rotationRole`.
[virtual noexcept] QItemModelScatterDataProxy::~QItemModelScatterDataProxy()
Löscht „ QItemModelScatterDataProxy “.
void QItemModelScatterDataProxy::remap(const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QString &rotationRole)
Änderungen an den Zuordnungen v xPosRole, yPosRole, zPosRole und rotationRole.
void QItemModelScatterDataProxy::setItemModel(QAbstractItemModel *itemModel)
Legt „ itemModel “ als Elementmodell für „Q3DScatter“ fest. Übernimmt nicht die Eigentumsrechte am Modell, stellt jedoch eine Verbindung her, um auf Änderungen zu reagieren.
Hinweis: Setter -Funktion für die Eigenschaft „ itemModel “.
Siehe auch itemModel().
© 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.