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.