Auf dieser Seite

QBarDataProxy Class

Die Klasse „QBarDataProxy“ ist der Datenproxy für ein 3D-Balkendiagramm. Mehr...

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

QItemModelBarDataProxy

Eigenschaften

Öffentliche Funktionen

QBarDataProxy(QObject *parent = nullptr)
virtual ~QBarDataProxy() override
qsizetype addRow(QBarDataRow row)
qsizetype addRow(QBarDataRow row, QString label)
qsizetype addRows(QBarDataArray rows)
qsizetype addRows(QBarDataArray rows, QStringList labels)
qsizetype colCount() const
void insertRow(qsizetype rowIndex, QBarDataRow row)
void insertRow(qsizetype rowIndex, QBarDataRow row, QString label)
void insertRows(qsizetype rowIndex, QBarDataArray rows)
void insertRows(qsizetype rowIndex, QBarDataArray rows, QStringList labels)
const QBarDataItem &itemAt(QPoint position) const
const QBarDataItem &itemAt(qsizetype rowIndex, qsizetype columnIndex) const
void removeRows(qsizetype rowIndex, qsizetype removeCount, QBarDataProxy::RemoveLabels removeLabels = RemoveLabels::No)
void resetArray()
void resetArray(QBarDataArray newArray)
void resetArray(QBarDataArray newArray, QStringList rowLabels, QStringList columnLabels)
const QBarDataRow &rowAt(qsizetype rowIndex) const
qsizetype rowCount() const
QBar3DSeries *series() const
void setItem(QPoint position, QBarDataItem item)
void setItem(qsizetype rowIndex, qsizetype columnIndex, QBarDataItem item)
void setRow(qsizetype rowIndex, QBarDataRow row)
void setRow(qsizetype rowIndex, QBarDataRow row, QString label)
void setRows(qsizetype rowIndex, QBarDataArray rows)
void setRows(qsizetype rowIndex, QBarDataArray rows, QStringList labels)

Signale

void arrayReset()
void colCountChanged(qsizetype count)
void itemChanged(qsizetype rowIndex, qsizetype columnIndex)
void rowCountChanged(qsizetype count)
void rowsAdded(qsizetype startIndex, qsizetype count)
void rowsChanged(qsizetype startIndex, qsizetype count)
void rowsInserted(qsizetype startIndex, qsizetype count)
void rowsRemoved(qsizetype startIndex, qsizetype count)
void seriesChanged(QBar3DSeries *series)

Detaillierte Beschreibung

Ein Bar-Daten-Proxy übernimmt das Hinzufügen, Einfügen, Ändern und Entfernen von Datenzeilen.

Das Datenarray ist eine Liste von Vektoren (Zeilen) mit Instanzen von ` QBarDataItem `. Jede Zeile kann eine unterschiedliche Anzahl von Elementen enthalten oder sogar null sein.

QBarDataProxy übernimmt die Verantwortung für alle QtGraphs::QBarDataRow-Objekte, die an ihn übergeben werden, sei es direkt oder in einem QtGraphs::QBarDataArray-Container. Wenn Zeiger auf Bar-Datenzeilen verwendet werden, um Daten nach dem Hinzufügen des Arrays zum Proxy direkt zu ändern, muss das entsprechende Signal ausgelöst werden, um das Diagramm zu aktualisieren.

QBarDataProxy verwaltet optional Zeilen- und Spaltenbeschriftungen, die von QCategory3DAxis zur Darstellung von Achsenbeschriftungen genutzt werden können.

Die Zeilen- und Spaltenbeschriftungen werden in einem separaten Array gespeichert, das von den Daten in der Reihe getrennt ist. Im Proxy stehen Methoden zur Zeilenverarbeitung zur Verfügung, die alternative Versionen bieten, welche die Zeilenbeschriftungen nicht beeinflussen. Dies ermöglicht die Verwendung von Zeilenbeschriftungen, die sich auf die Position der Daten im Array beziehen und nicht auf die Daten selbst. Da die Reihe sowohl die Daten als auch die Zeilen- und Spaltenbeschriftungen enthält, muss vor der Verwendung dieser Funktionen eine mit dem Proxy verknüpfte Reihe erstellt werden.

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

Dokumentation zu den Eigenschaften

[read-only] colCount : qsizetype

Diese Eigenschaft enthält die Anzahl der Spalten im Array.

Zugriffsfunktionen:

qsizetype colCount() const

Benachrichtigungssignal:

void colCountChanged(qsizetype count)

[read-only] rowCount : qsizetype

Diese Eigenschaft enthält die Anzahl der Zeilen im Array.

Zugriffsfunktionen:

qsizetype rowCount() const

Benachrichtigungssignal:

void rowCountChanged(qsizetype count)

[read-only] series : QBar3DSeries*

Diese Eigenschaft enthält die Serie, an die dieser Proxy angehängt ist.

Zugriffsfunktionen:

QBar3DSeries *series() const

Benachrichtigungssignal:

void seriesChanged(QBar3DSeries *series)

Dokumentation der Mitgliedsfunktionen

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

Erstellt einen Balken-Datenproxy mit dem angegebenen „ parent “.

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

Löscht den Daten-Proxy für den Balken.

qsizetype QBarDataProxy::addRow(QBarDataRow row)

Fügt die neue Zeile „ row “ am Ende eines Arrays hinzu. Vorhandene Zeilenbezeichnungen bleiben davon unberührt.

Gibt den Index der hinzugefügten Zeile zurück.

qsizetype QBarDataProxy::addRow(QBarDataRow row, QString label)

Fügt am Ende eines Arrays eine neue Zeile „ row “ mit der Bezeichnung „ label “ hinzu.

Gibt den Index der hinzugefügten Zeile zurück.

qsizetype QBarDataProxy::addRows(QBarDataArray rows)

Fügt das neue Element „ rows “ am Ende eines Arrays hinzu. Vorhandene Zeilenbezeichnungen bleiben davon unberührt.

Gibt den Index der zuerst hinzugefügten Zeile zurück.

qsizetype QBarDataProxy::addRows(QBarDataArray rows, QStringList labels)

Fügt den neuen Wert ` rows ` mit dem Wert ` labels ` am Ende des Arrays hinzu.

Gibt den Index der zuerst hinzugefügten Zeile zurück.

[signal] void QBarDataProxy::arrayReset()

Dieses Signal wird ausgelöst, wenn das Datenarray zurückgesetzt wird. Wenn der Inhalt des gesamten Arrays geändert wird, ohne dass die Funktion „ resetArray()“ aufgerufen wird, muss dieses Signal ausgelöst werden, um die Grafik zu aktualisieren.

void QBarDataProxy::insertRow(qsizetype rowIndex, QBarDataRow row)

Fügt die neue Zeile „ row “ in „ rowIndex “ ein. Wenn „ rowIndex “ der Größe des Arrays entspricht, werden die Zeilen am Ende des Arrays angehängt. Die vorhandenen Zeilenbezeichnungen bleiben davon unberührt.

Hinweis: Das Array der Zeilenbezeichnungen ist nach diesem Aufruf nicht mehr mit dem Zeilen-Array synchronisiert, wenn sich hinter der eingefügten Zeile weitere beschriftete Zeilen befanden.

void QBarDataProxy::insertRow(qsizetype rowIndex, QBarDataRow row, QString label)

Fügt die neue Zeile „ row “ mit der Bezeichnung „ label “ in „ rowIndex “ ein. Wenn „ rowIndex “ der Größe des Arrays entspricht, werden die Zeilen am Ende des Arrays angehängt.

void QBarDataProxy::insertRows(qsizetype rowIndex, QBarDataArray rows)

Fügt neue „ rows “ in „ rowIndex “ ein. Wenn „ rowIndex “ der Größe des Arrays entspricht, werden die Zeilen am Ende des Arrays angehängt. Die vorhandenen Zeilenbezeichnungen bleiben davon unberührt.

Hinweis: Das Array der Zeilenbezeichnungen ist nach diesem Aufruf nicht mehr mit dem Zeilen-Array synchron, wenn sich hinter den eingefügten Zeilen weitere beschriftete Zeilen befanden.

void QBarDataProxy::insertRows(qsizetype rowIndex, QBarDataArray rows, QStringList labels)

Fügt unter rowIndex ein neues Array „ rows “ mit den Elementen „ labels “ ein. Wenn „ rowIndex “ der Größe des Arrays entspricht, werden die Zeilen am Ende des Arrays angehängt.

const QBarDataItem &QBarDataProxy::itemAt(QPoint position) const

Gibt die Referenz auf das Element an der Position position zurück. Der x-Wert von position gibt die Zeile an, der y-Wert die Spalte. Das Element ist garantiert nur bis zum nächsten Aufruf gültig, der Daten ändert.

const QBarDataItem &QBarDataProxy::itemAt(qsizetype rowIndex, qsizetype columnIndex) const

Gibt die Referenz auf das Element an der Position zurück, die durch rowIndex und columnIndex angegeben wird. Es wird garantiert, dass diese Referenz nur bis zum nächsten Aufruf gültig ist, der Daten ändert.

[signal] void QBarDataProxy::itemChanged(qsizetype rowIndex, qsizetype columnIndex)

Dieses Signal wird ausgelöst, wenn sich das Element an der durch ` rowIndex ` und ` columnIndex ` angegebenen Position ändert. Wird das Element im Array geändert, ohne dass ` setItem()` aufgerufen wird, muss dieses Signal ausgelöst werden, um die Grafik zu aktualisieren.

void QBarDataProxy::removeRows(qsizetype rowIndex, qsizetype removeCount, QBarDataProxy::RemoveLabels removeLabels = RemoveLabels::No)

Entfernt die durch ` removeCount ` angegebene Anzahl von Zeilen, beginnend an der Position ` rowIndex`. Der Versuch, Zeilen jenseits des Endes des Arrays zu entfernen, hat keine Auswirkung. Wenn ` removeLabels ` gleich ` true` ist, werden auch die entsprechenden Zeilenbezeichnungen entfernt. Andernfalls bleiben die Zeilenbezeichnungen unberührt.

Hinweis: Wenn „ removeLabels “ gleich „ false “ ist, sind das Array der Zeilenbezeichnungen und das Zeilen-Array nicht mehr synchron, falls sich über die entfernten Zeilen hinaus noch beschriftete Zeilen befinden.

void QBarDataProxy::resetArray()

Löscht das vorhandene Array sowie die Zeilen- und Spaltenbezeichnungen.

void QBarDataProxy::resetArray(QBarDataArray newArray)

Übernimmt das Array „ newArray “. Löscht das vorhandene Array, wenn sich das neue Array davon unterscheidet. Sind die Arrays identisch, löst diese Funktion lediglich das Signal „ arrayReset()“ aus.

Wird ein Null-Array übergeben, wird das alte Array gelöscht und ein neues leeres Array erstellt. Zeilen- und Spaltenbeschriftungen bleiben davon unberührt.

void QBarDataProxy::resetArray(QBarDataArray newArray, QStringList rowLabels, QStringList columnLabels)

Übernimmt die Verantwortung für das Array „ newArray “. Löscht das vorhandene Array, wenn sich das neue Array davon unterscheidet. Sind die Arrays identisch, löst diese Funktion lediglich das Signal „ arrayReset()“ aus.

Wird ein Null-Array übergeben, wird das alte Array gelöscht und ein neues leeres Array erstellt.

Die Listen „ rowLabels “ und „ columnLabels “ legen die neuen Beschriftungen für Zeilen und Spalten fest.

const QBarDataRow &QBarDataProxy::rowAt(qsizetype rowIndex) const

Gibt die Referenz auf die Zeile an der Position „ rowIndex “ zurück. Diese Referenz ist garantiert nur bis zum nächsten Aufruf gültig, bei dem Daten geändert werden.

[signal] void QBarDataProxy::rowsAdded(qsizetype startIndex, qsizetype count)

Dieses Signal wird ausgelöst, wenn die durch ` count ` angegebene Anzahl von Zeilen hinzugefügt wird, beginnend an der Position ` startIndex`. Werden Zeilen zum Array hinzugefügt, ohne dass ` addRow()` oder ` addRows()` aufgerufen wird, muss dieses Signal ausgelöst werden, um das Diagramm zu aktualisieren.

[signal] void QBarDataProxy::rowsChanged(qsizetype startIndex, qsizetype count)

Dieses Signal wird ausgelöst, wenn die durch ` count ` angegebene Anzahl von Zeilen geändert wird, beginnend an der Position ` startIndex`. Wenn Zeilen im Array geändert werden, ohne dass ` setRow()` oder ` setRows()` aufgerufen wird, muss dieses Signal ausgelöst werden, um das Diagramm zu aktualisieren.

[signal] void QBarDataProxy::rowsInserted(qsizetype startIndex, qsizetype count)

Dieses Signal wird ausgelöst, wenn die durch ` count ` angegebene Anzahl von Zeilen an der Position ` startIndex` eingefügt wird.

Werden Zeilen in das Array eingefügt, ohne dass insertRow() oder insertRows() aufgerufen wird, muss dieses Signal ausgelöst werden, um das Diagramm zu aktualisieren.

[signal] void QBarDataProxy::rowsRemoved(qsizetype startIndex, qsizetype count)

Dieses Signal wird ausgelöst, wenn die durch ` count ` angegebene Anzahl von Zeilen entfernt wird, beginnend an der Position ` startIndex`.

Der Index entspricht der aktuellen Array-Größe, wenn die Zeilen vom Ende des Arrays entfernt wurden. Werden Zeilen aus dem Array entfernt, ohne dass removeRows() aufgerufen wird, muss dieses Signal ausgelöst werden, um das Diagramm zu aktualisieren.

void QBarDataProxy::setItem(QPoint position, QBarDataItem item)

Ändert ein einzelnes Element an der Position position in das Element item. Der x-Wert von position gibt die Zeile an, der y-Wert die Spalte.

void QBarDataProxy::setItem(qsizetype rowIndex, qsizetype columnIndex, QBarDataItem item)

Ändert ein einzelnes Element an der durch „ rowIndex “ und „ columnIndex “ angegebenen Position in das Element „ item “.

void QBarDataProxy::setRow(qsizetype rowIndex, QBarDataRow row)

Ändert eine vorhandene Zeile, indem die Zeile an der Position rowIndex durch die neue Zeile ersetzt wird, die durch row angegeben ist. Die neue Zeile kann mit der bereits unter rowIndex gespeicherten Zeile identisch sein. Vorhandene Zeilenbezeichnungen bleiben davon unberührt.

void QBarDataProxy::setRow(qsizetype rowIndex, QBarDataRow row, QString label)

Ändert eine vorhandene Zeile, indem die Zeile an der Position rowIndex durch die neue, unter row angegebene Zeile ersetzt wird. Die neue Zeile kann mit der bereits unter rowIndex gespeicherten Zeile identisch sein. Ändert die Zeilenbezeichnung in label.

void QBarDataProxy::setRows(qsizetype rowIndex, QBarDataArray rows)

Ändert vorhandene Zeilen, indem die Zeilen ab der Position rowIndex durch die neuen Zeilen ersetzt werden, die unter rows angegeben sind. Vorhandene Zeilenbeschriftungen bleiben davon unberührt. Die Zeilen im Array rows können mit den bereits unter rowIndex gespeicherten Zeilen übereinstimmen.

void QBarDataProxy::setRows(qsizetype rowIndex, QBarDataArray rows, QStringList labels)

Ändert vorhandene Zeilen, indem die Zeilen ab der Position rowIndex durch die neuen, unter rows angegebenen Zeilen ersetzt werden. Die Zeilenbezeichnungen werden in labels geändert. Die Zeilen im Array rows können mit den bereits unter rowIndex gespeicherten Zeilen übereinstimmen.

Verwandte Nicht-Mitglieder

[alias] QBarDataArray

Eine Liste von Zeigern auf Objekte vom Typ „ QBarDataRow “.

[alias] QBarDataRow

Eine Liste von „ QBarDataItem “-Objekten.

© 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.