Auf dieser Seite

QItemModelSurfaceDataProxy Class

Proxy-Klasse zur Darstellung von Daten in Item-Modellen mit „ Q3DSurfaceWidgetItem “. Mehr...

Header: #include <QItemModelSurfaceDataProxy>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
In QML: ItemModelSurfaceDataProxy
Erbt von: 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)

Ausführliche Beschreibung

Mit `QItemModelSurfaceDataProxy` können Sie von ` QAbstractItemModel ` abgeleitete Modelle als Datenquelle für ` Q3DSurfaceWidgetItem` verwenden. Dabei werden die definierten Zuordnungen genutzt, um Daten aus dem Modell den Zeilen, Spalten und Oberflächenpunkten des ` Q3DSurfaceWidgetItem `-Diagramms zuzuordnen.

Die Daten werden asynchron aufgelöst, sobald sich die Zuordnung oder das Modell ändert. „ QSurfaceDataProxy::arrayReset()“ wird ausgelöst, sobald die Daten aufgelöst wurden. Ist die Eigenschaft „ useModelCategories “ jedoch auf „ true “ gesetzt, werden Änderungen einzelner Elemente synchron aufgelöst, es sei denn, derselbe Frame enthält auch eine Änderung, die zur Auflösung des gesamten Modells führt.

Zuordnungen können auf folgende Weise 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 Spaltenüberschriften werden standardmäßig für die Z- und X-Position verwendet, sofern sie in Floats umgewandelt werden können. Andernfalls werden Zeilen- und Spaltenindizes verwendet. Die zu verwendende Y-Positionsrolle kann neu definiert werden, falls Qt::DisplayRole nicht geeignet ist. Die zu verwendenden Z-Positions- und X-Positionsrollen können neu definiert werden, falls die Überschriften oder Indizes nicht geeignet sind.
  • Bei Modellen, deren Daten nicht bereits übersichtlich in Zeilen und Spalten sortiert sind, wie z. B. bei Modellen auf Basis von „ QAbstractListModel “, können Sie für jede Zeile, Spalte und Y-Position eine Rolle aus dem Modell definieren, die zugeordnet werden soll.
  • Wenn Sie nicht alle im Modell enthaltenen Daten einbeziehen möchten oder die automatisch generierten Zeilen und Spalten nicht wie gewünscht angeordnet sind, können Sie festlegen, welche Zeilen und Spalten in welcher Reihenfolge einbezogen werden sollen, indem Sie eine explizite Liste von Kategorien entweder für Zeilen oder für Spalten oder für beide definieren.

Nehmen wir beispielsweise an, Sie haben ein benutzerdefiniertes „ QAbstractItemModel “, in dem Oberflächentopografiedaten gespeichert sind. Jedes Element im Modell hat die Rollen „Längengrad“, „Breitengrad“ und „Höhe“. Das Elementmodell enthält die Daten bereits ordnungsgemäß sortiert, sodass Längen- und Breitengrade in der richtigen Reihenfolge zuerst auftreten, was es uns ermöglicht, die automatische Generierung von Zeilen- und Spaltenkategorien zu nutzen. Sie könnten wie folgt vorgehen, um die Daten in einem Oberflächendiagramm darzustellen:

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 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 usage in „Simple Bar Graph“.

Siehe auch „Qt Graphs -Datenverarbeitung mit 3D“.

Dokumentation zu Mitgliedstypen

enum class QItemModelSurfaceDataProxy::MultiMatchBehavior

Verhaltensarten für die Eigenschaft „ QItemModelSurfaceDataProxy::multiMatchBehavior “.

KonstantWertBeschreibung
QItemModelSurfaceDataProxy::MultiMatchBehavior::First0Die Positionswerte werden aus dem ersten Element des Elementmodells entnommen, das der jeweiligen Zeilen-/Spaltenkombination entspricht.
QItemModelSurfaceDataProxy::MultiMatchBehavior::Last1Die Positionswerte werden aus dem letzten Element des Elementmodells entnommen, das zu jeder Zeilen-/Spaltenkombination passt.
QItemModelSurfaceDataProxy::MultiMatchBehavior::Average2Die Positionswerte aller Elemente, die zu jeder Zeilen-/Spaltenkombination passen, werden gemittelt, und die Mittelwerte werden als Position des Oberflächenpunkts verwendet.
QItemModelSurfaceDataProxy::MultiMatchBehavior::CumulativeY3Bei X- und Z-Werten verhält sich dies genau wie bei „ Average “, bei Y-Werten werden die Werte jedoch addiert statt gemittelt, und die Summe wird als Y-Position des Oberflächenpunkts verwendet.

Dokumentation zu den Eigenschaften

autoColumnCategories : bool

Diese Eigenschaft legt fest, ob Spaltenkategorien automatisch generiert werden.

Bei der Einstellung „ true “ ignoriert das Mapping alle explizit festgelegten Spaltenkategorien und überschreibt diese bei jeder Auflösung der Daten aus dem Modell durch automatisch generierte Kategorien. Die Standardeinstellung ist „ true “.

Zugriffsfunktionen:

bool autoColumnCategories() const
void setAutoColumnCategories(bool enable)

Benachrichtigungssignal:

void autoColumnCategoriesChanged(bool enable)

autoRowCategories : bool

Diese Eigenschaft legt fest, ob Zeilenkategorien automatisch generiert werden.

Bei der Einstellung „ true “ ignoriert die Zuordnung alle explizit festgelegten Zeilenkategorien und überschreibt diese bei jeder Auflösung der Daten aus dem Modell durch automatisch generierte Kategorien. Die Standardeinstellung lautet „ true “.

Zugriffsfunktionen:

bool autoRowCategories() const
void setAutoRowCategories(bool enable)

Benachrichtigungssignal:

void autoRowCategoriesChanged(bool enable)

columnCategories : QStringList

Diese Eigenschaft enthält die Spaltenkategorien für die Zuordnung.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void columnCategoriesChanged()

columnRole : QString

Diese Eigenschaft enthält die Rolle des Elementmodells, die der Spaltenkategorie zugeordnet werden soll.

Neben der Festlegung, zu welcher Spalte die Daten gehören, wird der durch die Spaltenrolle angegebene Wert auch als X-Koordinatenwert von „ QSurfaceDataItem “ festgelegt, wenn Modelldaten aufgelöst werden, sofern nicht zusätzlich eine separate X-Positionsrolle definiert ist.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void columnRoleChanged(const QString &role)

columnRolePattern : QRegularExpression

Diese Eigenschaft legt fest, ob der von der Spaltenrolle zugeordnete Wert vor seiner Verwendung als Spaltenkategorie einer Such- und Ersetzungsfunktion unterzogen wird.

Diese Eigenschaft gibt den regulären Ausdruck an, mit dem der zu ersetzende Teil des zugeordneten Werts gesucht wird, und die Eigenschaft „ columnRoleReplace “ enthält die Ersatzzeichenfolge.

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 Ersetzungsinhalt, der in Verbindung mit einem Spaltenrollenmuster 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 Dokumentation zur Funktion „ QString::replace “ (const QRegularExpression &rx, const QString &after).

Zugriffsfunktionen:

QString columnRoleReplace() const
void setColumnRoleReplace(const QString &replace)

Benachrichtigungssignal:

void columnRoleReplaceChanged(const QString &replace)

Siehe auch „ columnRole “ und „ columnRolePattern “.

itemModel : QAbstractItemModel*

Diese Eigenschaft enthält das Elementmodell, 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 mit mehreren Übereinstimmungen für jede Zeilen-/Spaltenkombination umgegangen wird.

Standardmäßig ist „Last“ eingestellt.

Beispiel: Sie haben ein Elementmodell mit zeitgestempelten Daten, die in unregelmäßigen Abständen erfasst wurden, und möchten die durchschnittliche Position der Datenelemente pro Stunde mit einem Oberflächendiagramm visualisieren. Dies erreichen Sie, indem Sie Zeilen- und Spaltenkategorien so festlegen, dass jeder Punkt auf der Oberfläche eine Stunde darstellt, und diese Eigenschaft auf „Durchschnitt“ setzen.

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 die Zuordnung.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void rowCategoriesChanged()

rowRole : QString

Diese Eigenschaft enthält die Rolle des Elementmodells, die der Zeilenkategorie zugeordnet werden soll.

Der durch die Zeilenrolle angegebene Wert definiert nicht nur, zu welcher Zeile die Daten gehören, sondern wird bei der Auflösung der Modelldaten auch als Z-Koordinatenwert von „ QSurfaceDataItem “ festgelegt, sofern nicht zusätzlich eine separate Z-Positionsrolle definiert ist.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void rowRoleChanged(const QString &role)

rowRolePattern : QRegularExpression

Diese Eigenschaft gibt an, ob der von der Zeilenrolle zugeordnete Wert vor seiner Verwendung als Zeilenkategorie einer Such- und Ersetzungsfunktion unterzogen wird.

Diese Eigenschaft gibt den regulären Ausdruck an, mit dem der zu ersetzende Teil des zugeordneten Werts gesucht wird, und die Eigenschaft „ rowRoleReplace “ enthält die Ersatzzeichenfolge.

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 Zeilenrollenmuster verwendet werden soll.

Der Standardwert ist eine leere Zeichenkette. Weitere Informationen zur Funktionsweise des Such- und Ersetzungsvorgangs mit regulären Ausdrücken finden Sie in der Funktionsdokumentation zu „ QString::replace “ (const QRegularExpression &rx, const QString &after).

Zugriffsfunktionen:

QString rowRoleReplace() const
void setRowRoleReplace(const QString &replace)

Notifier-Signal:

void rowRoleReplaceChanged(const QString &replace)

Siehe auch rowRole und rowRolePattern.

useModelCategories : bool

Diese Eigenschaft gilt unabhängig davon, ob Zeilen- und Spaltenrollen sowie Kategorien für die Zuordnung verwendet werden.

Bei der Einstellung „ true “ ignoriert die Zuordnung Zeilen- und Spaltenrollen sowie Kategorien und verwendet stattdessen die Zeilen und Spalten aus dem Modell. Die Standardeinstellung ist „ false “.

Zugriffsfunktionen:

bool useModelCategories() const
void setUseModelCategories(bool enable)

Benachrichtigungssignal:

void useModelCategoriesChanged(bool enable)

xPosRole : QString

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

Ist diese Rolle nicht definiert, wird „ columnRole “ verwendet, um den X-Koordinatenwert der aufgelösten „ QSurfaceDataItem “-Objekte zu ermitteln.

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 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 „ 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 einem Muster für die x-Position 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 Dokumentation zur 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 Elementmodells, die der Y-Position zugeordnet wird.

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 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 „ 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 Ersatzinhalt, der in Verbindung mit einem Positionsmuster vom Typ „y“ verwendet werden soll.

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 Dokumentation zur 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 Elementmodells, die der Z-Position zugeordnet werden soll.

Ist diese Rolle nicht definiert, wird „ rowRole “ verwendet, um den Z-Koordinatenwert aufgelöster „ QSurfaceDataItem “-Objekte zu ermitteln.

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 Ersatzinhalt, der in Verbindung mit einem „z-position“-Rollenmuster 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 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 zu den Mitgliedsfunktionen

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

Erstellt ein `QItemModelSurfaceDataProxy` mit einem optionalen ` parent`.

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

Erstellt ein `QItemModelSurfaceDataProxy` mit ` itemModel ` und einem optionalen ` parent`. Der Proxy übernimmt nicht die Eigentumsrechte an der ` itemModel`, da Item-Modelle in der Regel anderen Steuerelementen gehören.

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

Erstellt ein `QItemModelSurfaceDataProxy` mit ` itemModel ` und einem optionalen ` parent`. Der Proxy übernimmt nicht die Eigentümerschaft an ` itemModel`, da Item-Modelle in der Regel anderen Steuerelementen gehören. Die Rolle „ yPosRole “ wird auf „ yPosRole “ gesetzt. Dieser Konstruktor ist für Modelle vorgesehen, deren Daten bereits ordnungsgemäß 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)

Erstellt ein `QItemModelSurfaceDataProxy` mit ` itemModel ` und einem optionalen ` parent`. Der Proxy übernimmt nicht die Eigentümerschaft an ` itemModel`, da Item-Modelle in der Regel anderen Steuerelementen gehören. Die Rollenzuordnungen werden mit ` rowRole`, ` columnRole` und ` yPosRole` festgelegt. Die ` zPosRole ` und die ` 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)

Erstellt ein `QItemModelSurfaceDataProxy` mit ` itemModel ` und einem optionalen ` parent`. Der Proxy übernimmt nicht die Eigentümerschaft an ` itemModel`, da Item-Modelle in der Regel 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)

Erstellt ein `QItemModelSurfaceDataProxy` mit ` itemModel ` und einem optionalen ` parent`. Der Proxy übernimmt nicht die Eigentümerschaft an ` itemModel`, da Item-Modelle in der Regel anderen Steuerelementen gehören. Die Rollenzuordnungen werden mit ` rowRole`, ` columnRole` und ` yPosRole` festgelegt. ` zPosRole ` und ` xPosRole ` werden auf ` rowRole ` bzw. ` columnRole` gesetzt. Zeilen- und Spaltenkategorien werden mit ` rowCategories ` und ` columnCategories` festgelegt. Dieser Konstruktor setzt außerdem ` 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)

Erstellt ein `QItemModelSurfaceDataProxy` mit ` itemModel ` und einem optionalen ` parent`. Der Proxy übernimmt nicht die Eigentümerschaft an ` itemModel`, da Item-Modelle in der Regel anderen Steuerelementen gehören. Die Rollenzuordnungen werden mit ` rowRole`, ` columnRole`, ` xPosRole`, ` yPosRole` und ` zPosRole` festgelegt. Die Zeilen- und Spaltenkategorien werden mit ` rowCategories ` und ` columnCategories` festgelegt. Dieser Konstruktor setzt außerdem ` autoRowCategories ` und ` autoColumnCategories ` auf `false`.

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

Löscht „ QItemModelSurfaceDataProxy “.

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

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

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

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML 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 die Zuordnung für rowRole, columnRole, xPosRole, yPosRole, zPosRole, rowCategories und columnCategories.

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

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

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

Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe „ Q_INVOKABLE “.

void QItemModelSurfaceDataProxy::setItemModel(QAbstractItemModel *itemModel)

Setzt das Elementmodell auf „ itemModel “. Übernimmt nicht die Eigentumsrechte am Modell, stellt jedoch eine Verbindung her, um auf Änderungen zu achten.

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.