QItemModelSurfaceDataProxy Class

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

Kopfzeile: #include <QItemModelSurfaceDataProxy>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
In QML: ItemModelSurfaceDataProxy
Vererbt: QSurfaceDataProxy

Öffentliche Typen

enum class MultiMatchBehavior { First, Last, Average, CumulativeY }

Eigenschaften

Öffentliche Funktionen

QItemModelSurfaceDataProxy(QObject *parent = nullptr)
QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)
QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &yPosRole, QObject *parent = nullptr)
QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &yPosRole, QObject *parent = nullptr)
QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, QObject *parent = nullptr)
QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &yPosRole, const QStringList &rowCategories, const QStringList &columnCategories, QObject *parent = nullptr)
QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QStringList &rowCategories, const QStringList &columnCategories, QObject *parent = nullptr)
virtual ~QItemModelSurfaceDataProxy() override
bool autoColumnCategories() const
bool autoRowCategories() const
QStringList columnCategories() const
qsizetype columnCategoryIndex(const QString &category)
QString columnRole() const
QRegularExpression columnRolePattern() const
QString columnRoleReplace() const
QAbstractItemModel *itemModel() const
QItemModelSurfaceDataProxy::MultiMatchBehavior multiMatchBehavior() const
void remap(const QString &rowRole, const QString &columnRole, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QStringList &rowCategories, const QStringList &columnCategories)
QStringList rowCategories() const
qsizetype rowCategoryIndex(const QString &category)
QString rowRole() const
QRegularExpression rowRolePattern() const
QString rowRoleReplace() const
void setAutoColumnCategories(bool enable)
void setAutoRowCategories(bool enable)
void setColumnCategories(const QStringList &categories)
void setColumnRole(const QString &role)
void setColumnRolePattern(const QRegularExpression &pattern)
void setColumnRoleReplace(const QString &replace)
void setItemModel(QAbstractItemModel *itemModel)
void setMultiMatchBehavior(QItemModelSurfaceDataProxy::MultiMatchBehavior behavior)
void setRowCategories(const QStringList &categories)
void setRowRole(const QString &role)
void setRowRolePattern(const QRegularExpression &pattern)
void setRowRoleReplace(const QString &replace)
void setUseModelCategories(bool enable)
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)
bool useModelCategories() const
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 autoColumnCategoriesChanged(bool enable)
void autoRowCategoriesChanged(bool enable)
void columnCategoriesChanged()
void columnRoleChanged(const QString &role)
void columnRolePatternChanged(const QRegularExpression &pattern)
void columnRoleReplaceChanged(const QString &replace)
void itemModelChanged(const QAbstractItemModel *itemModel)
void multiMatchBehaviorChanged(QItemModelSurfaceDataProxy::MultiMatchBehavior behavior)
void rowCategoriesChanged()
void rowRoleChanged(const QString &role)
void rowRolePatternChanged(const QRegularExpression &pattern)
void rowRoleReplaceChanged(const QString &replace)
void useModelCategoriesChanged(bool enable)
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

QItemModelSurfaceDataProxy ermöglicht es Ihnen, QAbstractItemModel abgeleitete Modelle als Datenquelle für Q3DSurfaceWidgetItem zu verwenden. Es verwendet die definierten Mappings, um Daten aus dem Modell auf Zeilen, Spalten und Oberflächenpunkte des Q3DSurfaceWidgetItem Graphen abzubilden.

Die Daten werden asynchron aufgelöst, sobald sich das Mapping oder das Modell ändert. QSurfaceDataProxy::arrayReset() wird ausgegeben, wenn die Daten aufgelöst wurden. Wenn jedoch die Eigenschaft useModelCategories auf true gesetzt ist, werden Änderungen an einzelnen Elementen synchron aufgelöst, es sei denn, derselbe Frame enthält auch eine Änderung, die eine Auflösung des gesamten Modells erfordert.

Mappings können auf die folgenden Arten verwendet werden:

  • Wenn die Eigenschaft useModelCategories auf true gesetzt ist, ordnet dieser Proxy Zeilen und Spalten von QAbstractItemModel den Zeilen und Spalten von Q3DSurfaceWidgetItem zu und verwendet standardmäßig den für Qt::DisplayRole zurückgegebenen Wert als Y-Position. Zeilen- und Spaltenköpfe werden standardmäßig für die Z-Position und die X-Position verwendet, wenn sie in Fließkommazahlen umgewandelt werden können. Andernfalls werden Zeilen- und Spaltenindizes verwendet. Die zu verwendende Y-Positionsrolle kann neu definiert werden, wenn Qt::DisplayRole nicht geeignet ist. Die zu verwendenden Rollen "Z-Position" und "X-Position" können neu definiert werden, wenn die Überschriften oder Indizes nicht geeignet sind.
  • Für Modelle, deren Daten nicht bereits sauber in Zeilen und Spalten sortiert sind, wie z. B. QAbstractListModel basierte Modelle, können Sie für jede Zeile, Spalte und Y-Position eine Rolle aus dem zuzuordnenden Modell definieren.
  • Wenn Sie nicht alle im Modell enthaltenen Daten einbeziehen möchten oder die automatisch generierten Zeilen und Spalten nicht wie gewünscht geordnet sind, können Sie angeben, welche Zeilen und Spalten in welcher Reihenfolge einbezogen werden sollen, indem Sie eine explizite Liste von Kategorien für eine oder beide Zeilen und Spalten definieren.

Nehmen Sie zum Beispiel an, dass Sie eine benutzerdefinierte QAbstractItemModel haben, die Oberflächentopographiedaten speichert. Jedes Element im Modell hat die Rollen "Längengrad", "Breitengrad" und "Höhe". Das Elementmodell enthält die Daten bereits richtig sortiert, so dass die Längen- und Breitengrade zuerst in der richtigen Reihenfolge erscheinen. Um die Daten in einem Oberflächendiagramm darzustellen, können Sie wie folgt vorgehen:

QItemModelSurfaceDataProxy *proxy = new QItemModelSurfaceDataProxy(customModel,
                                                                   QStringLiteral("longitude"), // Row role
                                                                   QStringLiteral("latitude"), // Column role
                                                                   QStringLiteral("height")); // Y-position role

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 von Suchmustern in Verbindung mit den Rollen finden Sie unter ItemModelBarDataProxy usage in Simple Bar Graph.

Siehe auch Qt Graphs Datenverarbeitung mit 3D.

Dokumentation zum Membertyp

enum class QItemModelSurfaceDataProxy::MultiMatchBehavior

Verhaltenstypen für die Eigenschaft QItemModelSurfaceDataProxy::multiMatchBehavior.

KonstanteWertBeschreibung
QItemModelSurfaceDataProxy::MultiMatchBehavior::First0Die Positionswerte werden dem ersten Element im Elementmodell entnommen, das zu jeder Zeilen-/Spaltenkombination passt.
QItemModelSurfaceDataProxy::MultiMatchBehavior::Last1Die Positionswerte werden dem letzten Element im Positionsmodell entnommen, das zu jeder Zeilen-/Spaltenkombination passt.
QItemModelSurfaceDataProxy::MultiMatchBehavior::Average2Die Positionswerte aller Elemente, die zu jeder Zeilen-/Spaltenkombination passen, werden gemittelt, und die Durchschnittswerte werden als Oberflächenpunktposition verwendet.
QItemModelSurfaceDataProxy::MultiMatchBehavior::CumulativeY3Für X- und Z-Werte gilt das Gleiche wie für Average, aber die Y-Werte werden addiert statt gemittelt, und die Summe wird als Y-Position des Oberflächenpunkts verwendet.

Dokumentation der Eigenschaft

autoColumnCategories : bool

Diese Eigenschaft legt fest, ob Spaltenkategorien automatisch generiert werden.

Wenn sie auf true gesetzt ist, ignoriert das Mapping alle explizit gesetzten Spaltenkategorien und überschreibt sie mit automatisch generierten, wenn die Daten aus dem Modell aufgelöst werden. Die Standardeinstellung ist true.

Zugriffsfunktionen:

bool autoColumnCategories() const
void setAutoColumnCategories(bool enable)

Melder-Signal:

void autoColumnCategoriesChanged(bool enable)

autoRowCategories : bool

Diese Eigenschaft legt fest, ob Zeilenkategorien automatisch generiert werden.

Wenn sie auf true gesetzt ist, ignoriert die Zuordnung alle explizit gesetzten Zeilenkategorien und überschreibt sie mit automatisch generierten Kategorien, wenn die Daten aus dem Modell aufgelöst werden. Die Standardeinstellung ist true.

Zugriffsfunktionen:

bool autoRowCategories() const
void setAutoRowCategories(bool enable)

Melder-Signal:

void autoRowCategoriesChanged(bool enable)

columnCategories : QStringList

Diese Eigenschaft enthält die Spaltenkategorien für das Mapping.

Zugriffsfunktionen:

QStringList columnCategories() const
void setColumnCategories(const QStringList &categories)

Melder-Signal:

void columnCategoriesChanged()

columnRole : QString

Diese Eigenschaft enthält die Elementmodellrolle, die der Spaltenkategorie zugeordnet werden soll.

Zusätzlich zur Festlegung, zu welcher Spalte die Daten gehören, wird der durch die Spaltenrolle angegebene Wert auch als X-Koordinatenwert von QSurfaceDataItem festgelegt, wenn die Modelldaten aufgelöst werden, es sei denn, eine separate x-Positionsrolle ist ebenfalls definiert.

Zugriffsfunktionen:

QString columnRole() const
void setColumnRole(const QString &role)

Melder-Signal:

void columnRoleChanged(const QString &role)

columnRolePattern : QRegularExpression

Diese Eigenschaft legt fest, ob der von der Spaltenrolle zugeordnete Wert gesucht und ersetzt wird, bevor er als Spaltenkategorie verwendet wird.

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

Zugriffsfunktionen:

QRegularExpression columnRolePattern() const
void setColumnRolePattern(const QRegularExpression &pattern)

Benachrichtigungssignal:

void columnRolePatternChanged(const QRegularExpression &pattern)

Siehe auch columnRole und columnRoleReplace.

columnRoleReplace : QString

Diese Eigenschaft enthält den Ersatzinhalt, der in Verbindung mit einem Spaltenrollenmuster 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 columnRoleReplace() const
void setColumnRoleReplace(const QString &replace)

Melder-Signal:

void columnRoleReplaceChanged(const QString &replace)

Siehe auch columnRole und columnRolePattern.

itemModel : QAbstractItemModel*

Diese Eigenschaft enthält das Objektmodell, das als Datenquelle für die 3D-Oberfläche verwendet wird.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void itemModelChanged(const QAbstractItemModel *itemModel)

multiMatchBehavior : QItemModelSurfaceDataProxy::MultiMatchBehavior

Wie mehrere Übereinstimmungen für jede Zeilen-/Spaltenkombination behandelt werden.

Standardmäßig Letzte.

Sie könnten beispielsweise ein Objektmodell mit zeitgestempelten Daten haben, die in unregelmäßigen Abständen erfasst werden, und Sie möchten die durchschnittliche Position der Datenelemente in jeder Stunde mit einem Oberflächendiagramm visualisieren. Dazu geben Sie Zeilen- und Spaltenkategorien an, so dass jeder Oberflächenpunkt eine Stunde darstellt, und setzen diese Eigenschaft auf Durchschnitt.

Zugriffsfunktionen:

QItemModelSurfaceDataProxy::MultiMatchBehavior multiMatchBehavior() const
void setMultiMatchBehavior(QItemModelSurfaceDataProxy::MultiMatchBehavior behavior)

Benachrichtigungssignal:

void multiMatchBehaviorChanged(QItemModelSurfaceDataProxy::MultiMatchBehavior behavior)

rowCategories : QStringList

Diese Eigenschaft enthält die Zeilenkategorien für das Mapping.

Zugriffsfunktionen:

QStringList rowCategories() const
void setRowCategories(const QStringList &categories)

Melder-Signal:

void rowCategoriesChanged()

rowRole : QString

Diese Eigenschaft enthält die Elementmodellrolle, die der Zeilenkategorie zugeordnet werden soll.

Zusätzlich zur Festlegung, zu welcher Zeile die Daten gehören, wird der durch die Zeilenrolle angegebene Wert auch als Z-Koordinatenwert von QSurfaceDataItem festgelegt, wenn die Modelldaten aufgelöst werden, sofern nicht auch eine separate Z-Positionsrolle definiert ist.

Zugriffsfunktionen:

QString rowRole() const
void setRowRole(const QString &role)

Melder-Signal:

void rowRoleChanged(const QString &role)

rowRolePattern : QRegularExpression

Diese Eigenschaft legt fest, ob der von der Zeilenrolle zugeordnete Wert gesucht und ersetzt wird, bevor er als Zeilenkategorie verwendet wird.

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

Zugriffsfunktionen:

QRegularExpression rowRolePattern() const
void setRowRolePattern(const QRegularExpression &pattern)

Benachrichtigungssignal:

void rowRolePatternChanged(const QRegularExpression &pattern)

Siehe auch rowRole und rowRoleReplace.

rowRoleReplace : QString

Diese Eigenschaft enthält den Ersatzinhalt, der in Verbindung mit dem Muster für die Zeilenrolle 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 rowRoleReplace() const
void setRowRoleReplace(const QString &replace)

Benachrichtigungssignal:

void rowRoleReplaceChanged(const QString &replace)

Siehe auch rowRole und rowRolePattern.

useModelCategories : bool

Diese Eigenschaft gibt an, ob Zeilen- und Spaltenrollen und Kategorien für die Zuordnung verwendet werden.

Wenn sie auf true gesetzt ist, ignoriert die Zuordnung Zeilen- und Spaltenrollen und Kategorien und verwendet stattdessen die Zeilen und Spalten aus dem Modell. Der Standardwert ist false.

Zugriffsfunktionen:

bool useModelCategories() const
void setUseModelCategories(bool enable)

Melder-Signal:

void useModelCategoriesChanged(bool enable)

xPosRole : QString

Diese Eigenschaft enthält die Elementmodellrolle, die der X-Position zugeordnet werden soll.

Wenn diese Rolle nicht definiert ist, wird columnRole verwendet, um den X-Koordinatenwert der aufgelösten QSurfaceDataItem Objekte zu bestimmen.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

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 einem x-Position-Rollenmuster 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 xPosRoleReplace() const
void setXPosRoleReplace(const QString &replace)

Melder-Signal:

void xPosRoleReplaceChanged(const QString &replace)

Siehe auch xPosRole und xPosRolePattern.

yPosRole : QString

Diese Eigenschaft enthält die Positionsmodellrolle, 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 Ersatzinhalt, der in Verbindung mit einem y-Positionsrollenmuster 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)

Melder-Signal:

void yPosRoleReplaceChanged(const QString &replace)

Siehe auch yPosRole und yPosRolePattern.

zPosRole : QString

Diese Eigenschaft enthält die Elementmodellrolle, die der Z-Position zugeordnet werden soll.

Wenn diese Rolle nicht definiert ist, wird rowRole verwendet, um den Z-Koordinatenwert von aufgelösten QSurfaceDataItem Objekten zu bestimmen.

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 z-Positionsrolle zugeordnete Wert gesucht und ersetzt werden soll, 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 Ersatzinhalt, der in Verbindung mit einem z-Positions-Rollenmuster 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 zPosRoleReplace() const
void setZPosRoleReplace(const QString &replace)

Melder-Signal:

void zPosRoleReplaceChanged(const QString &replace)

Siehe auch zPosRole und zPosRolePattern.

Dokumentation der Mitgliedsfunktionen

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

Konstruiert QItemModelSurfaceDataProxy mit einem optionalen parent.

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

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

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

Konstruiert QItemModelSurfaceDataProxy mit itemModel und einem optionalen parent. Der Proxy übernimmt nicht das Eigentum an itemModel, da typischerweise Elementmodelle im Besitz anderer Steuerelemente sind. Die Rolle yPosRole wird auf yPosRole gesetzt. Dieser Konstruktor ist dafür gedacht, mit Modellen verwendet zu werden, bei denen die Daten bereits richtig in Zeilen und Spalten sortiert sind, daher wird auch die Eigenschaft useModelCategories auf true gesetzt.

[explicit] QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &yPosRole, QObject *parent = nullptr)

Konstruiert QItemModelSurfaceDataProxy mit itemModel und einem optionalen parent. Der Proxy übernimmt nicht das Eigentum an itemModel, da Elementmodelle normalerweise anderen Steuerelementen gehören. Die Rollenzuordnungen werden mit rowRole, columnRole und yPosRole festgelegt. zPosRole und xPosRole werden auf rowRole bzw. columnRole gesetzt.

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

Konstruiert QItemModelSurfaceDataProxy mit itemModel und einem optionalen parent. Der Proxy übernimmt nicht das Eigentum an itemModel, da Elementmodelle normalerweise anderen Steuerelementen gehören. Die Rollenzuordnungen werden mit rowRole, columnRole, xPosRole, yPosRole und zPosRole festgelegt.

[explicit] QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &yPosRole, const QStringList &rowCategories, const QStringList &columnCategories, QObject *parent = nullptr)

Konstruiert QItemModelSurfaceDataProxy mit itemModel und einem optionalen parent. Der Proxy übernimmt nicht das Eigentum an itemModel, da Elementmodelle normalerweise anderen Steuerelementen gehören. Die Rollenzuordnungen werden mit rowRole, columnRole und yPosRole festgelegt. zPosRole und xPosRole werden auf rowRole bzw. columnRole gesetzt. Die Zeilen- und Spaltenkategorien werden mit rowCategories und columnCategories festgelegt. Dieser Konstruktor setzt auch autoRowCategories und autoColumnCategories auf false.

[explicit] QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QStringList &rowCategories, const QStringList &columnCategories, QObject *parent = nullptr)

Konstruiert QItemModelSurfaceDataProxy mit itemModel und einem optionalen parent. Der Proxy übernimmt nicht das Eigentum an itemModel, da Elementmodelle normalerweise anderen Steuerelementen gehören. Die Rollen-Mappings werden mit rowRole, columnRole, xPosRole, yPosRole und zPosRole gesetzt. Die Zeilen- und Spaltenkategorien werden mit rowCategories und columnCategories festgelegt. Dieser Konstruktor setzt auch autoRowCategories und autoColumnCategories auf false.

[override virtual noexcept] QItemModelSurfaceDataProxy::~QItemModelSurfaceDataProxy()

Zerstört QItemModelSurfaceDataProxy.

[invokable] qsizetype QItemModelSurfaceDataProxy::columnCategoryIndex(const QString &category)

Gibt den Index der angegebenen Kategorie category in der Liste der Spaltenkategorien zurück. Wenn die Kategorie nicht gefunden wird, wird -1 zurückgegeben.

Hinweis: Wenn die automatische Erzeugung von Spaltenkategorien verwendet wird, gibt diese Methode keinen gültigen Index zurück, bevor die Daten im Modell zum ersten Mal aufgelöst werden.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

void QItemModelSurfaceDataProxy::remap(const QString &rowRole, const QString &columnRole, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QStringList &rowCategories, const QStringList &columnCategories)

Ändert rowRole, columnRole, xPosRole, yPosRole, zPosRole, rowCategories und columnCategories in der Zuordnung.

[invokable] qsizetype QItemModelSurfaceDataProxy::rowCategoryIndex(const QString &category)

Gibt den Index des angegebenen category in der Liste der Zeilenkategorien zurück. Wenn die Liste der Zeilenkategorien leer ist, wird -1 zurückgegeben.

Hinweis: Wenn die automatische Erzeugung von Zeilenkategorien verwendet wird, gibt diese Methode keinen gültigen Index zurück, bevor die Daten im Modell zum ersten Mal aufgelöst werden.

Hinweis: Diese Funktion kann über das Meta-Objektsystem und von QML aus aufgerufen werden. Siehe Q_INVOKABLE.

void QItemModelSurfaceDataProxy::setItemModel(QAbstractItemModel *itemModel)

Setzt das Objektmodell auf itemModel. Übernimmt nicht den Besitz des Modells, 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.