QItemModelScatterDataProxy Class
Proxy-Klasse zur Darstellung von Daten in Artikelmodellen mit Q3DScatterWidgetItem. Mehr...
Kopfzeile: | #include <QItemModelScatterDataProxy> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Graphs) target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
qmake: | QT += graphs |
In QML: | ItemModelScatterDataProxy |
Vererbt: | QScatterDataProxy |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QItemModelScatterDataProxy ist Teil von Qt Graphs C++ Classes for 3D.
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() override |
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 Q3DScatterWidgetItem zu verwenden. Es bildet Rollen von QAbstractItemModel auf die XYZ-Werte von Q3DScatterWidgetItem 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 zum Speichern verschiedener Messungen an Materialproben haben, die Daten für Rollen wie "Dichte", "Härte" und "Leitfähigkeit" bereitstellen. Mit diesem Proxy könnten Sie diese Eigenschaften 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 in dem genauen Format enthalten, das Sie benötigen, können Sie einen regulären Ausdruck für das Suchmuster und eine Ersetzungsregel für jede Rolle angeben, um den Wert in dem von Ihnen benötigten Format zu erhalten. Weitere Informationen darüber, wie die Ersetzung 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 der Suchmuster in Verbindung mit den Rollen finden Sie unter ItemModelBarDataProxy usage in Simple Bar Graph.
Siehe auch Qt Graphs Datenverarbeitung mit 3D.
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 von der 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 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 | 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 einem optionalen parent. Der Proxy übernimmt nicht das Eigentum an itemModel, da Elementmodelle normalerweise anderen Steuerelementen gehören.
[explicit]
QItemModelScatterDataProxy::QItemModelScatterDataProxy(QAbstractItemModel *itemModel, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, QObject *parent = nullptr)
Konstruiert QItemModelScatterDataProxy mit itemModel und einem optionalen 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 und die Eigenschaft 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 einem optionalen 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.
[override 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 Q3DScatterWidgetItem 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.