Sur cette page

QBarDataProxy Class

La classe QBarDataProxy est le proxy de données pour un graphique à barres 3D. Plus d'informations...

En-tête : #include <QBarDataProxy>
CMake : find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake : QT += datavisualization
Depuis : QtDataVisualization 1.0
En QML : BarDataProxy
Hérite : QAbstractDataProxy
Hérité par :

QItemModelBarDataProxy

Propriétés

Fonctions publiques

QBarDataProxy(QObject *parent = nullptr)
virtual ~QBarDataProxy()
int addRow(QBarDataRow *row)
int addRow(QBarDataRow *row, const QString &label)
int addRows(const QBarDataArray &rows)
int addRows(const QBarDataArray &rows, const QStringList &labels)
const QBarDataArray *array() const
QStringList columnLabels() const
void insertRow(int rowIndex, QBarDataRow *row)
void insertRow(int rowIndex, QBarDataRow *row, const QString &label)
void insertRows(int rowIndex, const QBarDataArray &rows)
void insertRows(int rowIndex, const QBarDataArray &rows, const QStringList &labels)
const QBarDataItem *itemAt(const QPoint &position) const
const QBarDataItem *itemAt(int rowIndex, int columnIndex) const
void removeRows(int rowIndex, int removeCount, bool removeLabels = true)
void resetArray()
void resetArray(QBarDataArray *newArray)
void resetArray(QBarDataArray *newArray, const QStringList &rowLabels, const QStringList &columnLabels)
const QBarDataRow *rowAt(int rowIndex) const
int rowCount() const
QStringList rowLabels() const
QBar3DSeries *series() const
void setColumnLabels(const QStringList &labels)
void setItem(const QPoint &position, const QBarDataItem &item)
void setItem(int rowIndex, int columnIndex, const QBarDataItem &item)
void setRow(int rowIndex, QBarDataRow *row)
void setRow(int rowIndex, QBarDataRow *row, const QString &label)
void setRowLabels(const QStringList &labels)
void setRows(int rowIndex, const QBarDataArray &rows)
void setRows(int rowIndex, const QBarDataArray &rows, const QStringList &labels)

Signaux

void arrayReset()
void columnLabelsChanged()
void itemChanged(int rowIndex, int columnIndex)
void rowCountChanged(int count)
void rowLabelsChanged()
void rowsAdded(int startIndex, int count)
void rowsChanged(int startIndex, int count)
void rowsInserted(int startIndex, int count)
void rowsRemoved(int startIndex, int count)
void seriesChanged(QBar3DSeries *series)

Description détaillée

Un proxy de données de barres gère l'ajout, l'insertion, la modification et la suppression de lignes de données.

Le tableau de données est une liste de vecteurs (lignes) d'instances QBarDataItem. Chaque ligne peut contenir un nombre différent d'éléments ou même être nulle.

QBarDataProxy prend possession de tous les objets QtDataVisualization::QBarDataRow qui lui sont transmis, que ce soit directement ou dans un conteneur QtDataVisualization::QBarDataArray. Si les pointeurs de lignes de données de barres sont utilisés pour modifier directement les données après avoir ajouté le tableau au proxy, le signal approprié doit être émis pour mettre à jour le graphique.

QBarDataProxy conserve facultativement les étiquettes des lignes et des colonnes, que QCategory3DAxis peut utiliser pour afficher les étiquettes des axes. Les étiquettes des lignes et des colonnes sont stockées dans un tableau séparé des données et les méthodes de manipulation des lignes fournissent des versions alternatives qui n'affectent pas les étiquettes des lignes. Cela permet d'avoir des étiquettes de ligne qui se rapportent à la position des données dans le tableau plutôt qu'aux données elles-mêmes.

Voir également Qt Data Visualization Manipulation des données.

Documentation sur les propriétés

columnLabels : QStringList

Cette propriété contient les libellés facultatifs des colonnes du tableau.

Les index de ce tableau correspondent aux index des colonnes dans les lignes. Si la liste est plus courte que la ligne la plus longue, toutes les colonnes ne seront pas étiquetées.

Fonctions d'accès :

QStringList columnLabels() const
void setColumnLabels(const QStringList &labels)

Signal de notification :

void columnLabelsChanged()

[read-only] rowCount : int

Cette propriété indique le nombre de lignes du tableau.

Fonctions d'accès :

int rowCount() const

Signal de notification :

void rowCountChanged(int count)

rowLabels : QStringList

Cette propriété contient les étiquettes facultatives des lignes du tableau.

Les index de ce tableau correspondent aux index des lignes du tableau de données. Si la liste est plus courte que le nombre de lignes, toutes les lignes ne seront pas étiquetées.

Fonctions d'accès :

QStringList rowLabels() const
void setRowLabels(const QStringList &labels)

Signal de notification :

void rowLabelsChanged()

[read-only] series : QBar3DSeries*

Cette propriété contient la série à laquelle ce proxy est attaché.

Fonctions d'accès :

QBar3DSeries *series() const

Signal du notificateur :

void seriesChanged(QBar3DSeries *series)

Fonction membre Documentation

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

Construit un proxy de données sur les barres avec l'adresse parent.

[virtual noexcept] QBarDataProxy::~QBarDataProxy()

Supprime le proxy de données de la barre.

int QBarDataProxy::addRow(QBarDataRow *row)

Ajoute la nouvelle ligne row à la fin d'un tableau. Les étiquettes des lignes existantes ne sont pas affectées.

Renvoie l'index de la ligne ajoutée.

int QBarDataProxy::addRow(QBarDataRow *row, const QString &label)

Ajoute une nouvelle ligne row avec le libellé label à la fin d'un tableau.

Renvoie l'index de la ligne ajoutée.

int QBarDataProxy::addRows(const QBarDataArray &rows)

Ajoute le nouveau rows à la fin d'un tableau. Les étiquettes des lignes existantes ne sont pas affectées.

Renvoie l'index de la première ligne ajoutée.

int QBarDataProxy::addRows(const QBarDataArray &rows, const QStringList &labels)

Ajoute le nouveau rows avec labels à la fin du tableau.

Renvoie l'index de la première ligne ajoutée.

const QBarDataArray *QBarDataProxy::array() const

Renvoie le pointeur sur le tableau de données.

[signal] void QBarDataProxy::arrayReset()

Ce signal est émis lorsque le tableau de données est réinitialisé. Si le contenu du tableau entier est modifié sans appeler resetArray(), ce signal doit être émis pour mettre à jour le graphique.

void QBarDataProxy::insertRow(int rowIndex, QBarDataRow *row)

Insère la nouvelle ligne row dans rowIndex. Si rowIndex est égal à la taille du tableau, les lignes sont ajoutées à la fin du tableau. Les étiquettes de ligne existantes ne sont pas affectées.

Note : Le tableau des étiquettes de ligne sera désynchronisé avec le tableau des lignes après cet appel s'il y avait des lignes étiquetées au-delà de la ligne insérée.

void QBarDataProxy::insertRow(int rowIndex, QBarDataRow *row, const QString &label)

Insère la nouvelle ligne row avec l'étiquette label dans rowIndex. Si rowIndex est égal à la taille du tableau, les lignes sont ajoutées à la fin du tableau.

void QBarDataProxy::insertRows(int rowIndex, const QBarDataArray &rows)

Insère le nouveau rows dans rowIndex. Si rowIndex est égal à la taille du tableau, les lignes sont ajoutées à la fin du tableau. Les étiquettes de ligne existantes ne sont pas affectées.

Note : Le tableau des étiquettes de ligne sera désynchronisé avec le tableau des lignes après cet appel s'il y avait des lignes étiquetées au-delà des lignes insérées.

void QBarDataProxy::insertRows(int rowIndex, const QBarDataArray &rows, const QStringList &labels)

Insère le nouveau rows avec labels dans rowIndex. Si rowIndex est égal à la taille du tableau, les lignes sont ajoutées à la fin du tableau.

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

Renvoie le pointeur sur l'élément situé à la position position. La valeur x de position indique la ligne et la valeur y indique la colonne. La validité de l'élément est garantie jusqu'au prochain appel modifiant les données.

const QBarDataItem *QBarDataProxy::itemAt(int rowIndex, int columnIndex) const

Renvoie le pointeur sur l'élément situé à la position spécifiée par rowIndex et columnIndex. Sa validité est garantie jusqu'au prochain appel qui modifie les données.

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

Ce signal est émis lorsque l'élément situé à la position spécifiée par rowIndex et columnIndex change. Si l'élément est modifié dans le tableau sans appeler setItem(), ce signal doit être émis pour mettre à jour le graphique.

void QBarDataProxy::removeRows(int rowIndex, int removeCount, bool removeLabels = true)

Supprime le nombre de lignes spécifié par removeCount à partir de la position rowIndex. Tenter de supprimer des lignes au-delà de la fin du tableau n'aboutit à rien. Si removeLabels est true, les étiquettes de ligne correspondantes sont également supprimées. Dans le cas contraire, les étiquettes des lignes ne sont pas affectées.

Remarque : si removeLabels est false, le tableau des étiquettes de ligne sera désynchronisé avec le tableau des lignes s'il y a des lignes étiquetées au-delà des lignes supprimées.

void QBarDataProxy::resetArray()

Efface le tableau existant et les étiquettes des lignes et des colonnes.

void QBarDataProxy::resetArray(QBarDataArray *newArray)

Prend possession du tableau newArray. Elle efface le tableau existant si le nouveau tableau en diffère. Si les tableaux sont identiques, cette fonction déclenche simplement le signal arrayReset().

Le passage d'un tableau nul supprime l'ancien tableau et crée un nouveau tableau vide. Les étiquettes des lignes et des colonnes ne sont pas affectées.

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

Prend possession du tableau newArray. Elle efface le tableau existant si le nouveau tableau en diffère. Si les tableaux sont identiques, cette fonction déclenche simplement le signal arrayReset().

Le passage d'un tableau nul supprime l'ancien tableau et crée un nouveau tableau vide.

Les listes rowLabels et columnLabels indiquent les nouvelles étiquettes pour les lignes et les colonnes.

const QBarDataRow *QBarDataProxy::rowAt(int rowIndex) const

Renvoie le pointeur sur la ligne à la position rowIndex. Sa validité est garantie jusqu'au prochain appel qui modifie les données.

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

Ce signal est émis lorsque le nombre de lignes spécifié par count est ajouté à partir de la position startIndex. Si des lignes sont ajoutées au tableau sans appeler addRow() ou addRows(), ce signal doit être émis pour mettre à jour le graphique.

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

Ce signal est émis lorsque le nombre de lignes spécifié par count est modifié à partir de la position startIndex. Si des lignes sont modifiées dans le tableau sans appeler setRow() ou setRows(), ce signal doit être émis pour mettre à jour le graphique.

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

Ce signal est émis lorsque le nombre de lignes spécifié par count est inséré à la position startIndex.

Si des lignes sont insérées dans le tableau sans appeler insertRow() ou insertRows(), ce signal doit être émis pour mettre à jour le graphique.

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

Ce signal est émis lorsque le nombre de lignes spécifié par count est supprimé à partir de la position startIndex.

L'indice est la taille actuelle du tableau si les lignes ont été supprimées à la fin du tableau. Si des lignes sont retirées du tableau sans appeler removeRows(), ce signal doit être émis pour mettre à jour le graphique.

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

Remplace un élément unique à la position position par l'élément item. La valeur x de position indique la ligne et la valeur y indique la colonne.

void QBarDataProxy::setItem(int rowIndex, int columnIndex, const QBarDataItem &item)

Remplace un élément unique à la position spécifiée par rowIndex et columnIndex par l'élément item.

void QBarDataProxy::setRow(int rowIndex, QBarDataRow *row)

Modifie une ligne existante en remplaçant la ligne à la position rowIndex par la nouvelle ligne spécifiée par row. La nouvelle ligne peut être identique à la ligne existante déjà stockée à l'adresse rowIndex. Les libellés des lignes existantes ne sont pas affectés.

void QBarDataProxy::setRow(int rowIndex, QBarDataRow *row, const QString &label)

Modifie une ligne existante en remplaçant la ligne à la position rowIndex par la nouvelle ligne spécifiée par row. La nouvelle ligne peut être la même que la ligne existante déjà stockée à l'adresse rowIndex. Modifie l'étiquette de la ligne en la remplaçant par label.

void QBarDataProxy::setRows(int rowIndex, const QBarDataArray &rows)

Modifie les lignes existantes en remplaçant les lignes commençant à la position rowIndex par les nouvelles lignes spécifiées par rows. Les étiquettes des lignes existantes ne sont pas affectées. Les lignes du tableau rows peuvent être les mêmes que les lignes existantes déjà stockées à rowIndex.

void QBarDataProxy::setRows(int rowIndex, const QBarDataArray &rows, const QStringList &labels)

Modifie les lignes existantes en remplaçant les lignes commençant à la position rowIndex par les nouvelles lignes spécifiées par rows. Les étiquettes des lignes sont remplacées par labels. Les lignes du tableau rows peuvent être les mêmes que les lignes existantes déjà stockées à rowIndex.

Non-membres apparentés

QBarDataArray

Une liste de pointeurs vers des objets QBarDataRow.

QBarDataRow

Une liste d'objets QBarDataItem.

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