Sur cette page

QBarDataProxy Class

La classe QBarDataProxy sert de proxy de données pour un graphique à barres en 3D. En savoir plus...

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 de : QAbstractDataProxy
Hérité par :

QItemModelBarDataProxy

Statut : Obsolète

Cette classe est obsolète. Nous vous déconseillons fortement de l'utiliser dans du nouveau code.

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 type « bar » 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 de ` QBarDataItem `. Chaque ligne peut contenir un nombre différent d'éléments, voire être nulle.

QBarDataProxy prend en charge tous les objets QtDataVisualization::QBarDataRow qui lui sont transmis, que ce soit directement ou via un conteneur QtDataVisualization::QBarDataArray. Si des pointeurs de ligne de données de barre sont utilisés pour modifier directement les données après l’ajout du tableau au proxy, le signal approprié doit être émis pour mettre à jour le graphique.

QBarDataProxy assure, de manière facultative, le suivi des libellés de lignes et de colonnes, que QCategory3DAxis peut utiliser pour afficher les libellés d'axes. Les libellés de lignes et de colonnes sont stockés dans un tableau distinct des données, et les méthodes de manipulation des lignes proposent des versions alternatives qui n’affectent pas les libellés de lignes. Cela permet d’opter pour des libellés de lignes liés à la position des données dans le tableau plutôt qu’aux données elles-mêmes.

Voir également Gestion des données d’Qt Data Visualization .

Documentation sur les propriétés

columnLabels : QStringList

Cette propriété contient les libellés de colonnes facultatifs pour le tableau.

Les indices de ce tableau correspondent aux indices des colonnes dans les lignes. Si la liste est plus courte que la ligne la plus longue, toutes les colonnes ne recevront pas d’étiquettes.

Fonctions d'accès :

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

Signal de notification :

void columnLabelsChanged()

[read-only] rowCount : int

Cette propriété contient 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 libellés de ligne facultatifs pour le tableau.

Les indices de ce tableau correspondent aux indices des lignes du tableau de données. Si la liste est plus courte que le nombre de lignes, toutes les lignes ne recevront pas d'étiquette.

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 associé.

Fonctions d'accès :

QBar3DSeries *series() const

Signal de notification :

void seriesChanged(QBar3DSeries *series)

Documentation des fonctions membres

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

Crée un proxy de données de type « bar » à partir de l'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 libellés des lignes existantes ne sont pas modifiés.

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 la nouvelle étiquette de ligne « rows » à la fin d'un tableau. Les étiquettes de ligne 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 la nouvelle ligne « rows » avec l'adresse « labels » à la fin du tableau.

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

const QBarDataArray *QBarDataProxy::array() const

Renvoie le pointeur vers 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 de l'ensemble du tableau est modifié sans appeler la fonction ` 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 libellés des lignes existantes ne sont pas modifiés.

Remarque : le tableau des étiquettes de lignes ne sera plus synchronisé avec le tableau des lignes après cet appel s’il existait 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 de nouvelles étiquettes de ligne ( rows ) dans le tableau d'étiquettes de ligne ( rowIndex). Si le nombre d'étiquettes de ligne ( rowIndex ) est égal à la taille du tableau, les lignes sont ajoutées à la fin de celui-ci. Les étiquettes de ligne existantes ne sont pas modifiées.

Remarque : le tableau des étiquettes de lignes ne sera plus synchronisé avec le tableau des lignes après cet appel s'il existait des lignes étiquetées au-delà des lignes insérées.

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

Insère un nouvel élément 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 vers l'élément situé à la position position. La valeur x de position correspond à la ligne et la valeur y à la colonne. La validité de l'élément n'est garantie que jusqu'au prochain appel modifiant les données.

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

Renvoie le pointeur vers l'élément situé à la position spécifiée par rowIndex et columnIndex. Sa validité n'est garantie que jusqu'au prochain appel modifiant 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 la fonction 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`. Toute tentative de suppression de lignes situées au-delà de la fin du tableau n'a aucun effet. Si ` removeLabels ` vaut ` true`, les étiquettes de ligne correspondantes sont également supprimées. Dans le cas contraire, les étiquettes de ligne ne sont pas affectées.

Remarque : si removeLabels vaut false, le tableau des étiquettes de lignes ne sera plus synchronisé avec le tableau des lignes s’il existe des lignes étiquetées au-delà des lignes supprimées.

void QBarDataProxy::resetArray()

Efface le tableau existant ainsi que les libellés des lignes et des colonnes.

void QBarDataProxy::resetArray(QBarDataArray *newArray)

Prend en charge le tableau newArray. Efface le tableau existant si le nouveau tableau diffère de celui-ci. 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 de lignes et de colonnes ne sont pas affectées.

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

Prend en charge le tableau newArray. Efface le tableau existant si le nouveau tableau diffère de celui-ci. 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 ` spécifient les nouvelles étiquettes pour les lignes et les colonnes.

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

Renvoie le pointeur vers la ligne située à la position rowIndex. Sa validité n'est garantie que jusqu'au prochain appel modifiant 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 le nombre de lignes du tableau est modifié 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'index correspond à la taille actuelle du tableau si les lignes ont été supprimées à partir de la fin de celui-ci. Si des lignes sont supprimées du tableau sans appeler la fonction ` removeRows()`, ce signal doit être émis pour mettre à jour le graphique.

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

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

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

Remplace un élément unique situé à la position indiqué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 située à l'adresse 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 modifiés.

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

Modifie une ligne existante en remplaçant la ligne située à l'emplacement 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. Modifie l'étiquette de la ligne en label.

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

Modifie les lignes existantes en remplaçant celles commençant à la position rowIndex par les nouvelles lignes spécifiées par rows. Les libellés des lignes existantes ne sont pas modifiés. Les lignes du tableau rows peuvent être identiques à celles déjà stockées à l'adresse 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 libellés des lignes sont remplacés par labels. Les lignes du tableau rows peuvent être identiques aux lignes existantes déjà stockées à l'adresse rowIndex.

Personnes non membres associées

QBarDataArray

Une liste de pointeurs vers des objets de type « 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.