QSurfaceDataProxy Class
La classe QSurfaceDataProxy est le proxy de données pour un graphique de surface 3D. Plus d'informations...
| En-tête : | #include <QSurfaceDataProxy> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS DataVisualization)target_link_libraries(mytarget PRIVATE Qt6::DataVisualization) |
| qmake : | QT += datavisualization |
| Depuis : | QtDataVisualization 1.0 |
| En QML : | SurfaceDataProxy |
| Hérite : | QAbstractDataProxy |
| Héritée par : |
Propriétés
- columnCount : int
- rowCount : int
- series : QSurface3DSeries*
Fonctions publiques
| QSurfaceDataProxy(QObject *parent = nullptr) | |
| virtual | ~QSurfaceDataProxy() |
| int | addRow(QSurfaceDataRow *row) |
| int | addRows(const QSurfaceDataArray &rows) |
| const QSurfaceDataArray * | array() const |
| int | columnCount() const |
| void | insertRow(int rowIndex, QSurfaceDataRow *row) |
| void | insertRows(int rowIndex, const QSurfaceDataArray &rows) |
| const QSurfaceDataItem * | itemAt(const QPoint &position) const |
| const QSurfaceDataItem * | itemAt(int rowIndex, int columnIndex) const |
| void | removeRows(int rowIndex, int removeCount) |
| void | resetArray(QSurfaceDataArray *newArray) |
| int | rowCount() const |
| QSurface3DSeries * | series() const |
| void | setItem(const QPoint &position, const QSurfaceDataItem &item) |
| void | setItem(int rowIndex, int columnIndex, const QSurfaceDataItem &item) |
| void | setRow(int rowIndex, QSurfaceDataRow *row) |
| void | setRows(int rowIndex, const QSurfaceDataArray &rows) |
Signaux
| void | arrayReset() |
| void | columnCountChanged(int count) |
| void | itemChanged(int rowIndex, int columnIndex) |
| void | rowCountChanged(int count) |
| 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(QSurface3DSeries *series) |
Non-membres apparentés
Description détaillée
Un proxy de données de surface gère les données relatives à la surface dans les lignes. Pour cela, il fournit deux typedefs auxiliaires : QtDataVisualization::QSurfaceDataArray et QtDataVisualization::QSurfaceDataRow. QSurfaceDataArray est un QList qui contrôle les lignes. QSurfaceDataRow est un QList qui contient des objets QSurfaceDataItem. Pour plus d'informations sur la manière d'alimenter le proxy en données, voir l'exemple de code dans la documentation Q3DSurface.
Toutes les lignes doivent avoir le même nombre d'éléments.
QSurfaceDataProxy est propriétaire de tous les objets QSurfaceDataRow qui lui sont transmis, que ce soit directement ou dans un conteneur QSurfaceDataArray. Pour utiliser les pointeurs de ligne des données de surface afin de modifier directement les données après avoir ajouté le tableau au proxy, le signal approprié doit être émis pour mettre à jour le graphique.
Pour que la surface soit sensée, la valeur x de chaque élément successif de toutes les lignes doit être ascendante ou descendante sur toute la ligne. De même, la valeur z de chaque élément successif dans toutes les colonnes doit être ascendante ou descendante dans toute la colonne.
Remarque : actuellement, seules les surfaces avec des lignes et des colonnes droites sont entièrement prises en charge. Toute ligne dont les éléments n'ont pas exactement la même valeur z ou toute colonne dont les éléments n'ont pas exactement la même valeur x peut être tronquée de manière incorrecte si la surface entière ne s'inscrit pas complètement dans les plages visibles de l'axe x ou de l'axe z.
Remarque : les surfaces comportant moins de deux lignes ou colonnes ne sont pas considérées comme des surfaces valides et ne seront pas rendues.
Remarque : dans certains environnements, les surfaces comportant un grand nombre de sommets visibles peuvent ne pas être rendues, car elles dépassent le nombre de sommets par dessin pris en charge par le pilote graphique. Il s'agit principalement d'un problème sur les plateformes 32 bits et OpenGL ES2.
Voir également Qt Data Visualization Traitement des données.
Documentation sur les propriétés
[read-only] columnCount : int
Cette propriété indique le nombre de colonnes du tableau de données.
Fonctions d'accès :
| int | columnCount() const |
Signal de notification :
| void | columnCountChanged(int count) |
[read-only] rowCount : int
Cette propriété indique le nombre de lignes du tableau de données.
Fonctions d'accès :
| int | rowCount() const |
Signal de notification :
| void | rowCountChanged(int count) |
[read-only] series : QSurface3DSeries*
Cette propriété contient la série à laquelle ce proxy est attaché.
Fonctions d'accès :
| QSurface3DSeries * | series() const |
Signal du notificateur :
| void | seriesChanged(QSurface3DSeries *series) |
Fonction membre Documentation
[explicit] QSurfaceDataProxy::QSurfaceDataProxy(QObject *parent = nullptr)
Construit QSurfaceDataProxy avec l'adresse parent.
[virtual noexcept] QSurfaceDataProxy::~QSurfaceDataProxy()
Supprime le proxy de données de surface.
int QSurfaceDataProxy::addRow(QSurfaceDataRow *row)
Ajoute la nouvelle ligne row à la fin d'un tableau. La nouvelle ligne doit avoir le même nombre de colonnes que les lignes du tableau initial.
Renvoie l'index de la ligne ajoutée.
int QSurfaceDataProxy::addRows(const QSurfaceDataArray &rows)
Ajoute de nouveaux rows à la fin d'un tableau. Les nouvelles lignes doivent avoir le même nombre de colonnes que les lignes du tableau initial.
Renvoie l'index de la première ligne ajoutée.
const QSurfaceDataArray *QSurfaceDataProxy::array() const
Renvoie le pointeur sur le tableau de données.
[signal] void QSurfaceDataProxy::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 QSurfaceDataProxy::insertRow(int rowIndex, QSurfaceDataRow *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. La nouvelle ligne doit avoir le même nombre de colonnes que les lignes du tableau initial.
void QSurfaceDataProxy::insertRows(int rowIndex, const QSurfaceDataArray &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. Le nouveau rows doit avoir le même nombre de colonnes que les lignes du tableau initial.
const QSurfaceDataItem *QSurfaceDataProxy::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 QSurfaceDataItem *QSurfaceDataProxy::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 QSurfaceDataProxy::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 QSurfaceDataProxy::removeRows(int rowIndex, int removeCount)
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 ne donne rien.
void QSurfaceDataProxy::resetArray(QSurfaceDataArray *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. Toutes les lignes de newArray doivent être de même longueur.
[signal] void QSurfaceDataProxy::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 QSurfaceDataProxy::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 QSurfaceDataProxy::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 QSurfaceDataProxy::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 QSurfaceDataProxy::setItem(const QPoint &position, const QSurfaceDataItem &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 QSurfaceDataProxy::setItem(int rowIndex, int columnIndex, const QSurfaceDataItem &item)
Remplace un élément unique à la position spécifiée par rowIndex et columnIndex par l'élément item.
void QSurfaceDataProxy::setRow(int rowIndex, QSurfaceDataRow *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 la même que la ligne existante déjà stockée à la position rowIndex. La nouvelle ligne doit avoir le même nombre de colonnes que la ligne qu'elle remplace.
void QSurfaceDataProxy::setRows(int rowIndex, const QSurfaceDataArray &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 lignes du tableau rows peuvent être les mêmes que les lignes existantes déjà stockées à la position rowIndex. Les nouvelles lignes doivent avoir le même nombre de colonnes que les lignes qu'elles remplacent.
Non-membres apparentés
QSurfaceDataArray
Une liste de pointeurs vers des objets QSurfaceDataRow.
QSurfaceDataRow
Une liste d'objets QSurfaceDataItem.
© 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.