Auf dieser Seite

QItemModelBarDataProxy Class

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

Header: #include <QItemModelBarDataProxy>
CMake: find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake: QT += datavisualization
Seit: QtDataVisualization 1.0
In QML: ItemModelBarDataProxy
Erbt von: QBarDataProxy
Status: Veraltet

Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.

Öffentliche Typen

enum MultiMatchBehavior { MMBFirst, MMBLast, MMBAverage, MMBCumulative }

Eigenschaften

Öffentliche Funktionen

QItemModelBarDataProxy(QObject *parent = nullptr)
QItemModelBarDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)
QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &valueRole, QObject *parent = nullptr)
QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &valueRole, QObject *parent = nullptr)
QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &valueRole, const QString &rotationRole, QObject *parent = nullptr)
QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &valueRole, const QStringList &rowCategories, const QStringList &columnCategories, QObject *parent = nullptr)
QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &valueRole, const QString &rotationRole, const QStringList &rowCategories, const QStringList &columnCategories, QObject *parent = nullptr)
virtual ~QItemModelBarDataProxy()
bool autoColumnCategories() const
bool autoRowCategories() const
QStringList columnCategories() const
int columnCategoryIndex(const QString &category)
QString columnRole() const
QRegularExpression columnRolePattern() const
QString columnRoleReplace() const
QAbstractItemModel *itemModel() const
QItemModelBarDataProxy::MultiMatchBehavior multiMatchBehavior() const
void remap(const QString &rowRole, const QString &columnRole, const QString &valueRole, const QString &rotationRole, const QStringList &rowCategories, const QStringList &columnCategories)
QString rotationRole() const
QRegularExpression rotationRolePattern() const
QString rotationRoleReplace() const
QStringList rowCategories() const
int 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(QItemModelBarDataProxy::MultiMatchBehavior behavior)
void setRotationRole(const QString &role)
void setRotationRolePattern(const QRegularExpression &pattern)
void setRotationRoleReplace(const QString &replace)
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 setValueRole(const QString &role)
void setValueRolePattern(const QRegularExpression &pattern)
void setValueRoleReplace(const QString &replace)
bool useModelCategories() const
QString valueRole() const
QRegularExpression valueRolePattern() const
QString valueRoleReplace() 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(QItemModelBarDataProxy::MultiMatchBehavior behavior)
void rotationRoleChanged(const QString &role)
void rotationRolePatternChanged(const QRegularExpression &pattern)
void rotationRoleReplaceChanged(const QString &replace)
void rowCategoriesChanged()
void rowRoleChanged(const QString &role)
void rowRolePatternChanged(const QRegularExpression &pattern)
void rowRoleReplaceChanged(const QString &replace)
void useModelCategoriesChanged(bool enable)
void valueRoleChanged(const QString &role)
void valueRolePatternChanged(const QRegularExpression &pattern)
void valueRoleReplaceChanged(const QString &replace)

Ausführliche Beschreibung

Mit `QItemModelBarDataProxy` können Sie von ` QAbstractItemModel ` abgeleitete Modelle als Datenquelle für ` Q3DBars` verwenden. Es nutzt die definierten Zuordnungen, um Daten aus dem Modell den Zeilen, Spalten und Werten des Diagramms von ` Q3DBars ` zuzuordnen.

Die Daten werden asynchron aufgelöst, sobald sich Zuordnungen oder das Modell ändern. „ QBarDataProxy::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 ` direkt den Zeilen und Spalten von ` Q3DBars` zu und verwendet standardmäßig den für ` Qt::DisplayRole ` zurückgegebenen Wert als Balkenwert. Die zu verwendende Wertrolle kann neu definiert werden, falls ` Qt::DisplayRole ` nicht geeignet ist.
  • 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 jeden Wert eine Zuordnungsrolle aus dem Modell definieren.
  • 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 Spalten oder für beide definieren.

Nehmen wir zum Beispiel an, Sie haben ein benutzerdefiniertes „ QAbstractItemModel “, in dem verschiedene monatliche Werte im Zusammenhang mit einem Unternehmen gespeichert sind. Jeder Eintrag im Modell hat die Rollen „Jahr“, „Monat“, „Einnahmen“ und „Ausgaben“. Um die Daten in einem Balkendiagramm darzustellen, könnten Sie wie folgt vorgehen:

// By defining row and column categories, you tell the mapping which row and column each item
// belongs to. The categories must match the data stored in the model in the roles you define
// for row and column mapping. In this example we expect "year" role to return four digit year
// and "month" to return three letter designation for the month.
//
// An example of an item in model would be:
// Requested role -> Returned data
// "year" -> "2006" // Matches the first row category, so this item is added to the first row.
// "month" -> "jan" // Matches the first column category, so this item is added as first item in the row.
// "income" -> "12.1"
// "expenses" -> "9.2"
QStringList years;
QStringList months;
years << "2006" << "2007" << "2008" << "2009" << "2010" << "2011" << "2012";
months << "jan" << "feb" << "mar" << "apr" << "may" << "jun" << "jul" << "aug" << "sep" << "oct" << "nov" << "dec";

QItemModelBarDataProxy *proxy = new QItemModelBarDataProxy(customModel,
                                                           QStringLiteral("year"), // Row role
                                                           QStringLiteral("month"), // Column role
                                                           QStringLiteral("income"), // Value role
                                                           years, // Row categories
                                                           months); // Column categories

//...

// To display different data later, you can simply change the mapping.
proxy->setValueRole(QStringLiteral("expenses"));

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 festlegen, 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 Dokumentation zur 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 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 im Beispiel „Einfaches Balkendiagramm “.

Siehe auch „Qt Data Visualization -Datenverarbeitung“.

Dokumentation zu Mitgliedstypen

enum QItemModelBarDataProxy::MultiMatchBehavior

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

KonstantWertBeschreibung
QItemModelBarDataProxy::MMBFirst0Der Wert wird aus dem ersten Element des Elementmodells entnommen, das mit der jeweiligen Zeilen-/Spaltenkombination übereinstimmt.
QItemModelBarDataProxy::MMBLast1Der Wert wird aus dem letzten Element des Elementmodells entnommen, das zu jeder Zeilen-/Spaltenkombination passt.
QItemModelBarDataProxy::MMBAverage2Die Werte aller Elemente, die zu jeder Zeilen-/Spaltenkombination passen, werden gemittelt, und der Mittelwert wird als Balkenwert verwendet.
QItemModelBarDataProxy::MMBCumulative3Die Werte aller Elemente, die mit der jeweiligen Zeilen-/Spaltenkombination übereinstimmen, werden addiert, und die Summe wird als Balkenwert verwendet.

Eigenschaftsdokumentation

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 bestimmt die Spaltenrolle für die Zuordnung.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void columnRoleChanged(const QString &role)

columnRolePattern : QRegularExpression

Diese Eigenschaft legt fest, ob der durch die Spaltenrolle zugeordnete Wert vor seiner Verwendung als Spaltenkategorie 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 „ columnRoleReplace “ enthält die Ersatzzeichenfolge. Dies ist beispielsweise nützlich, um Zeilen- und Spaltenkategorien aus einem einzelnen Zeitstempelfeld im Elementmodell zu parsen.

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 „ columnRolePattern “ verwendet werden soll.

Standardmäßig ist sie 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 columnRoleReplace() const
void setColumnRoleReplace(const QString &replace)

Notifier-Signal:

void columnRoleReplaceChanged(const QString &replace)

Siehe auch columnRole und columnRolePattern.

itemModel : QAbstractItemModel*

Diese Eigenschaft enthält das Elementmodell.

Zugriffsfunktionen:

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

Notifier-Signal:

void itemModelChanged(const QAbstractItemModel *itemModel)

multiMatchBehavior : MultiMatchBehavior

Wie mit mehreren Übereinstimmungen für jede Zeilen-/Spaltenkombination umgegangen wird.

Standardmäßig ist „ QItemModelBarDataProxy::MMBLast “ eingestellt. Das gewählte Verhalten wirkt sich sowohl auf den Balkenwert als auch auf die Drehung aus.

Beispiel: Sie haben möglicherweise ein Elementmodell mit zeitgestempelten Daten, die in unregelmäßigen Abständen erfasst wurden, und möchten den Gesamtwert der Datenelemente für jeden Tag mit einem Balkendiagramm visualisieren. Dies lässt sich erreichen, indem Sie Zeilen- und Spaltenkategorien so festlegen, dass jeder Balken einen Tag darstellt, und „multiMatchBehavior“ auf „ QItemModelBarDataProxy::MMBCumulative “ setzen.

Zugriffsfunktionen:

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

Notifier-Signal:

void multiMatchBehaviorChanged(QItemModelBarDataProxy::MultiMatchBehavior behavior)

rotationRole : QString

Diese Eigenschaft bestimmt die Rotation für die Zuordnung.

Zugriffsfunktionen:

QString rotationRole() const
void setRotationRole(const QString &role)

Benachrichtigungssignal:

void rotationRoleChanged(const QString &role)

rotationRolePattern : QRegularExpression

Diese Eigenschaft legt fest, ob der durch die Rotationsrolle zugeordnete Wert vor seiner Verwendung als Balkenrotationswinkel gesucht und ersetzt wird.

Diese Eigenschaft gibt den regulären Ausdruck an, mit dem der zu ersetzende Teil des zugeordneten Werts ermittelt wird, 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 „ rotationRolePattern “ verwendet werden soll.

Standardmäßig ist sie 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.

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 übernimmt die Zeilenrolle für die Zuordnung.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void rowRoleChanged(const QString &role)

rowRolePattern : QRegularExpression

Diese Eigenschaft gibt an, ob der durch die Zeilenrolle zugeordnete Wert vor seiner Verwendung als Zeilenkategorie 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 „ rowRoleReplace “ enthält die Ersatzzeichenfolge. Dies ist beispielsweise nützlich, um Zeilen- und Spaltenkategorien aus einem einzelnen Zeitstempelfeld im Elementmodell zu parsen.

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 Ersetzungsinhalt, der in Verbindung mit „ rowRolePattern “ verwendet werden soll.

Standardmäßig ist sie 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 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 das Mapping 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)

valueRole : QString

Diese Eigenschaft enthält den Wert „Rolle“ für die Zuordnung.

Zugriffsfunktionen:

QString valueRole() const
void setValueRole(const QString &role)

Benachrichtigungssignal:

void valueRoleChanged(const QString &role)

valueRolePattern : QRegularExpression

Diese Eigenschaft legt fest, ob der durch die Wertrolle zugeordnete Wert vor seiner Verwendung als Balkenwert 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 „ valueRoleReplace “ enthält die Ersatzzeichenfolge.

Zugriffsfunktionen:

QRegularExpression valueRolePattern() const
void setValueRolePattern(const QRegularExpression &pattern)

Benachrichtigungssignal:

void valueRolePatternChanged(const QRegularExpression &pattern)

Siehe auch „ valueRole “ und „ valueRoleReplace “.

valueRoleReplace : QString

Diese Eigenschaft enthält den Ersetzungsinhalt, der in Verbindung mit „ valueRolePattern “ verwendet werden soll.

Standardmäßig ist sie 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 valueRoleReplace() const
void setValueRoleReplace(const QString &replace)

Notifier-Signal:

void valueRoleReplaceChanged(const QString &replace)

Siehe auch valueRole und valueRolePattern.

Dokumentation zu den Mitgliedsfunktionen

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

Erstellt ein `QItemModelBarDataProxy` mit optionalem ` parent`.

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

Erstellt ein `QItemModelBarDataProxy` mit ` itemModel ` und optional ` parent`. Der Proxy übernimmt keine Eigentumsrechte an ` itemModel`, da Item-Modelle in der Regel anderen Steuerelementen gehören.

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

Erstellt ein `QItemModelBarDataProxy` 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 Wertrolle wird auf ` valueRole` 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] QItemModelBarDataProxy::QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &valueRole, QObject *parent = nullptr)

Erstellt ein `QItemModelBarDataProxy` 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 Rollenzuordnungen werden mit ` rowRole`, ` columnRole` und ` valueRole` festgelegt.

[explicit] QItemModelBarDataProxy::QItemModelBarDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &valueRole, const QString &rotationRole, QObject *parent = nullptr)

Erstellt ein `QItemModelBarDataProxy` 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 Rollenzuordnungen werden mit ` rowRole`, ` columnRole`, ` valueRole` und ` rotationRole` festgelegt.

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

Erstellt ein `QItemModelBarDataProxy` 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 Rollenzuordnungen werden mit ` rowRole`, ` columnRole` und ` valueRole` festgelegt. Zeilen- und Spaltenkategorien werden mit ` rowCategories ` und ` columnCategories` festgelegt. Dieser Konstruktor setzt außerdem ` autoRowCategories ` und ` autoColumnCategories ` auf `false`.

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

Erstellt ein `QItemModelBarDataProxy` mit ` itemModel ` und optional ` parent`. Der Proxy übernimmt nicht die Eigentumsrechte an ` itemModel`, da Item-Modelle in der Regel anderen Steuerelementen gehören. Die Rollenzuordnungen werden mit ` rowRole`, ` columnRole`, ` valueRole` und ` rotationRole` festgelegt. Zeilen- und Spaltenkategorien werden mit ` rowCategories ` und ` columnCategories` festgelegt. Dieser Konstruktor setzt außerdem ` autoRowCategories ` und ` autoColumnCategories ` auf „false“.

[virtual noexcept] QItemModelBarDataProxy::~QItemModelBarDataProxy()

Löscht „ QItemModelBarDataProxy “.

[invokable] int QItemModelBarDataProxy::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 QItemModelBarDataProxy::remap(const QString &rowRole, const QString &columnRole, const QString &valueRole, const QString &rotationRole, const QStringList &rowCategories, const QStringList &columnCategories)

Änderungen an der Zuordnung unter rowRole, columnRole, valueRole, rotationRole, rowCategories und columnCategories.

[invokable] int QItemModelBarDataProxy::rowCategoryIndex(const QString &category)

Gibt den Index der 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 QItemModelBarDataProxy::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.