Auf dieser Seite

QItemModelBarDataProxy Class

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

Header: #include <QItemModelBarDataProxy>
CMake: find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake: QT += graphs
In QML: ItemModelBarDataProxy
Erbt von: QBarDataProxy

Öffentliche Typen

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

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() 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
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
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(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 ` Q3DBarsWidgetItem` verwenden. Es nutzt die definierten Zuordnungen, um Daten aus dem Modell den Zeilen, Spalten und Werten des ` Q3DBarsWidgetItem `-Diagramms 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. Wenn jedoch die Eigenschaft „ useModelCategories “ auf „true“ gesetzt ist, werden Änderungen einzelner Elemente synchron aufgelöst, es sei denn, derselbe Frame enthält auch eine Änderung, die eine Auflösung des gesamten Modells auslöst.

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 ` Q3DBarsWidgetItem` 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 berücksichtigt 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 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" -> "2016" // 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 << "2016" << "2017" << "2018" << "2019" << "2020" << "2021" << "2022";
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 in genau 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 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.

Ein Beispiel für die Verwendung der Suchmuster in Verbindung mit den Rollen finden Sie unter „Einfaches Balkendiagramm“.

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

Dokumentation zu Mitgliedstypen

enum class QItemModelBarDataProxy::MultiMatchBehavior

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

KonstantWertBeschreibung
QItemModelBarDataProxy::MultiMatchBehavior::First0Der Wert wird aus dem ersten Element des Elementmodells entnommen, das der jeweiligen Zeilen-/Spaltenkombination entspricht.
QItemModelBarDataProxy::MultiMatchBehavior::Last1Der Wert wird aus dem letzten Element des Elementmodells entnommen, das zu jeder Zeilen-/Spaltenkombination passt.
QItemModelBarDataProxy::MultiMatchBehavior::Average2Die Werte aller Elemente, die zu jeder Zeilen-/Spaltenkombination passen, werden gemittelt, und der Mittelwert wird als Balkenwert verwendet.
QItemModelBarDataProxy::MultiMatchBehavior::Cumulative3Die Werte aller Elemente, die zu jeder Zeilen-/Spaltenkombination passen, 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 die Zuordnung alle explizit festgelegten Spaltenkategorien und überschreibt diese durch automatisch generierte, sobald die Daten aus dem Modell aufgelöst werden. 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 durch automatisch generierte, sobald die Daten aus dem Modell aufgelöst werden. 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 legt die Spaltenrolle für die Zuordnung fest.

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 Ersatzinhalt, der in Verbindung mit „ columnRolePattern “ 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 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 : QItemModelBarDataProxy::MultiMatchBehavior

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

Standardmäßig ist „ QItemModelBarDataProxy::MultiMatchBehavior::Last “ 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::MultiMatchBehavior::Cumulative “ 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 Ersatzzeichenfolge.

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 Ersatzinhalt, der in Verbindung mit „ rotationRolePattern “ 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 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 gefunden 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 Ersatzinhalt, der in Verbindung mit „ rowRolePattern “ 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 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 „role“ für die Zuordnung.

Zugriffsfunktionen:

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

Benachrichtigungssignal:

void valueRoleChanged(const QString &role)

valueRolePattern : QRegularExpression

Diese Eigenschaft gibt an, ob der durch die Rolle „value“ 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 Ersatzinhalt, der in Verbindung mit „ valueRolePattern “ verwendet werden soll.

Standardmäßig ist der Wert eine leere Zeichenfolge. 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 einem optionalen ` parent`.

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

Erstellt ein `QItemModelBarDataProxy` mit ` itemModel ` und einem optionalen ` parent`. Der Proxy übernimmt nicht die 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 einem ` itemModel ` und einem optionalen ` parent`. Der Proxy übernimmt nicht die Eigentumsrechte am ` 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 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 ` 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 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`, ` 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 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 ` 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 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`, ` valueRole` und ` rotationRole` festgelegt. Zeilen- und Spaltenkategorien werden mit ` rowCategories ` und ` columnCategories` festgelegt. Dieser Konstruktor setzt außerdem ` autoRowCategories ` und ` autoColumnCategories ` auf „false“.

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

Löscht „ QItemModelBarDataProxy “.

[invokable] qsizetype 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] qsizetype 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 reagieren.

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.