QBarDataProxy Class

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

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

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 Data Proxy behandelt das Hinzufügen, Einfügen, Ändern und Entfernen von Datenzeilen.

Das Daten-Array ist eine Liste von Vektoren (Zeilen) von QBarDataItem Instanzen. Jede Zeile kann eine unterschiedliche Anzahl von Elementen enthalten oder sogar Null sein.

QBarDataProxy übernimmt das Eigentum an allen QtGraphs::QBarDataRow-Objekten, die ihm übergeben werden, sei es direkt oder in einem QtGraphs::QBarDataArray-Container. Wenn Bar Data Row Pointer verwendet werden, um Daten direkt zu ändern, nachdem das Array zum Proxy hinzugefügt wurde, muss das entsprechende Signal ausgegeben werden, um den Graphen zu aktualisieren.

QBarDataProxy speichert optional Zeilen- und Spaltenbeschriftungen, die QCategory3DAxis zur Anzeige von Achsenbeschriftungen verwenden kann.

Die Zeilen- und Spaltenbeschriftungen werden in einem von den Daten in der Reihe getrennten Array gespeichert. Methoden zur Zeilenverarbeitung sind im Proxy verfügbar und bieten alternative Versionen, die die Zeilenbeschriftungen nicht beeinflussen. Dies ermöglicht die Option, Zeilenbeschriftungen zu haben, die sich auf die Position der Daten im Array und nicht auf die Daten selbst beziehen. Da die Serie die Daten und die Zeilen- und Spaltenbeschriftungen enthält, ist es notwendig, eine mit dem Proxy verknüpfte Serie zu erstellen, bevor diese Funktionen für sie verwendet werden.

Siehe auch Qt Graphs Datenverarbeitung mit 3D.

Dokumentation der Eigenschaft

[read-only] colCount : const qsizetype

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

Zugriffsfunktionen:

qsizetype colCount() const

Benachrichtigungssignal:

void colCountChanged(qsizetype count)

[read-only] rowCount : const qsizetype

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

Zugriffsfunktionen:

qsizetype rowCount() const

Benachrichtigungssignal:

void rowCountChanged(qsizetype count)

[read-only] series : QBar3DSeries* const

Diese Eigenschaft enthält die Serie, mit der dieser Proxy verbunden ist.

Zugriffsfunktionen:

QBar3DSeries *series() const

Benachrichtigungssignal:

void seriesChanged(QBar3DSeries *series)

Member Function Dokumentation

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

Konstruiert einen Balken-Daten-Proxy mit dem angegebenen parent.

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

Löscht den Proxy für die Balkendaten.

qsizetype QBarDataProxy::addRow(QBarDataRow row)

Fügt die neue Zeile row am Ende eines Arrays ein. Vorhandene Zeilenbeschriftungen sind davon nicht betroffen.

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

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

Fügt eine neue Zeile row mit dem Label label am Ende eines Arrays hinzu.

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

qsizetype QBarDataProxy::addRows(QBarDataArray rows)

Fügt die neue rows am Ende eines Arrays ein. Vorhandene Zeilenbeschriftungen sind davon nicht betroffen.

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

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

Fügt die neue rows mit labels an das Ende des Arrays an.

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

[signal] void QBarDataProxy::arrayReset()

Dieses Signal wird ausgegeben, wenn das Datenfeld zurückgesetzt wird. Wenn der Inhalt des gesamten Arrays geändert wird, ohne resetArray() aufzurufen, muss dieses Signal ausgegeben werden, um den Graphen zu aktualisieren.

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

Fügt die neue Zeile row in rowIndex ein. Wenn rowIndex gleich der Array-Größe ist, werden die Zeilen am Ende des Arrays eingefügt. Die vorhandenen Zeilenbeschriftungen bleiben davon unberührt.

Hinweis: Das Array "Zeilenbeschriftungen" ist nach diesem Aufruf nicht mehr mit dem Array "Zeilen" synchron, wenn es beschriftete Zeilen nach der eingefügten Zeile gab.

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

Fügt die neue Zeile row mit der Bezeichnung label in rowIndex ein. Wenn rowIndex gleich der Array-Größe ist, werden die Zeilen am Ende des Arrays hinzugefügt.

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

Fügt neue rows in rowIndex ein. Wenn rowIndex gleich der Array-Größe ist, werden die Zeilen am Ende des Arrays eingefügt. Die vorhandenen Zeilenbeschriftungen bleiben davon unberührt.

Hinweis: Das Array "Zeilenbeschriftungen" ist nach diesem Aufruf nicht mehr mit dem Array "Zeilen" synchron, wenn es beschriftete Zeilen jenseits der eingefügten Zeilen gab.

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

Fügt neue rows mit labels in rowIndex ein. Wenn rowIndex gleich der Array-Größe ist, werden die Zeilen am Ende des Arrays eingefügt.

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

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

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

Gibt den Verweis auf das Element an der durch rowIndex und columnIndex angegebenen Position zurück. Er ist garantiert nur bis zum nächsten Aufruf gültig, bei dem Daten geändert werden.

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

Dieses Signal wird ausgegeben, wenn sich das Element an der durch rowIndex und columnIndex angegebenen Position ändert. Wenn das Element im Array geändert wird, ohne setItem() aufzurufen, muss dieses Signal ausgegeben werden, um den Graphen zu aktualisieren.

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

Entfernt die durch removeCount angegebene Anzahl von Zeilen, beginnend mit der Position rowIndex. Der Versuch, Zeilen über das Ende des Arrays hinaus zu entfernen, führt zu nichts. Wenn removeLabels gleich true ist, werden auch die entsprechenden Zeilenbeschriftungen entfernt. Andernfalls sind die Zeilenbeschriftungen nicht betroffen.

Hinweis: Wenn removeLabels gleich false ist, ist das Array der Zeilenbeschriftungen nicht mit dem Zeilenarray synchronisiert, wenn es beschriftete Zeilen hinter den entfernten Zeilen gibt.

void QBarDataProxy::resetArray()

Löscht das vorhandene Feld und die Zeilen- und Spaltenbeschriftungen.

void QBarDataProxy::resetArray(QBarDataArray newArray)

Übernimmt das Eigentum an dem Array newArray. Löscht das bestehende Array, wenn sich das neue Array von ihm unterscheidet. Wenn die Arrays gleich sind, löst diese Funktion lediglich das Signal arrayReset() aus.

Die Übergabe eines Null-Arrays löscht das alte Array und erzeugt ein neues leeres Array. Zeilen- und Spaltenbeschriftungen sind davon nicht betroffen.

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

Übernimmt das Eigentum an dem Array newArray. Löscht das bestehende Array, wenn sich das neue Array von ihm unterscheidet. Wenn die Arrays gleich sind, löst diese Funktion lediglich das Signal arrayReset() aus.

Die Übergabe eines Null-Arrays löscht das alte Array und erzeugt ein neues leeres Array.

Die Listen rowLabels und columnLabels geben die neuen Bezeichnungen für Zeilen und Spalten an.

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

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

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

Dieses Signal wird ausgegeben, wenn die durch count angegebene Anzahl von Zeilen hinzugefügt wird, beginnend an der Position startIndex. Wenn dem Array Zeilen hinzugefügt werden, ohne addRow() oder addRows() aufzurufen, muss dieses Signal ausgegeben werden, um den Graphen zu aktualisieren.

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

Dieses Signal wird ausgegeben, wenn die durch count angegebene Anzahl von Zeilen geändert wird, beginnend an der Position startIndex. Wenn Zeilen im Array geändert werden, ohne setRow() oder setRows() aufzurufen, muss dieses Signal ausgegeben werden, um den Graphen zu aktualisieren.

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

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

Wenn Zeilen in das Array eingefügt werden, ohne insertRow() oder insertRows() aufzurufen, muss dieses Signal ausgegeben werden, um den Graphen zu aktualisieren.

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

Dieses Signal wird ausgegeben, wenn die durch count angegebene Anzahl von Zeilen entfernt wird, beginnend an der Position startIndex.

Der Index ist die aktuelle Array-Größe, wenn die Zeilen vom Ende des Arrays entfernt wurden. Wenn Zeilen aus dem Array entfernt werden, ohne removeRows() aufzurufen, muss dieses Signal ausgegeben werden, um den Graphen 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 steht für die Zeile und der y-Wert für 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 bestehende Zeile, indem es die Zeile an der Position rowIndex durch die neue Zeile ersetzt, die durch row angegeben wird. Die neue Zeile kann dieselbe sein wie die bereits unter rowIndex gespeicherte Zeile. Vorhandene Zeilenbeschriftungen sind davon nicht betroffen.

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

Ändert eine bestehende Zeile, indem es die Zeile an der Position rowIndex durch die neue Zeile ersetzt, die durch row angegeben wird. Die neue Zeile kann dieselbe sein wie die bereits unter rowIndex gespeicherte Zeile. Ändert die Zeilenbezeichnung in label.

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

Ändert bestehende Zeilen, indem die Zeilen ab der Position rowIndex durch die neuen Zeilen ersetzt werden, die durch rows angegeben werden. Vorhandene Zeilenbeschriftungen sind davon nicht betroffen. Die Zeilen im Array rows können dieselben sein wie die bereits unter rowIndex gespeicherten Zeilen.

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

Ändert bestehende Zeilen, indem die Zeilen ab der Position rowIndex durch die neuen Zeilen ersetzt werden, die durch rows angegeben werden. Die Zeilenbeschriftungen werden in labels geändert. Die Zeilen im Array rows können dieselben sein wie die bereits unter rowIndex gespeicherten Zeilen.

Verwandte Nicht-Mitglieder

[alias] QBarDataArray

Eine Liste von Zeigern auf QBarDataRow Objekte.

[alias] QBarDataRow

Eine Liste von QBarDataItem Objekten.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.