QSurfaceDataProxy Class
La classe `QSurfaceDataProxy` sert de proxy de données pour un graphe de surface 3D. En savoir plus...
| En-tête : | #include <QSurfaceDataProxy> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Graphs) target_link_libraries(mytarget PRIVATE Qt6::Graphs) |
| qmake : | QT += graphs |
| En QML : | SurfaceDataProxy |
| Hérite de : | QAbstractDataProxy |
| Hérité par : |
- Liste de tous les membres, y compris les membres hérités
- QSurfaceDataProxy fait partie des classes C++ d'Qt Graphs pour la 3D.
Propriétés
- columnCount : qsizetype
- rowCount : qsizetype
- series : QSurface3DSeries*
Fonctions publiques
| QSurfaceDataProxy(QObject *parent = nullptr) | |
| virtual | ~QSurfaceDataProxy() override |
| qsizetype | addRow(QSurfaceDataRow row) |
| qsizetype | addRows(QSurfaceDataArray rows) |
| qsizetype | columnCount() const |
| void | insertRow(qsizetype rowIndex, QSurfaceDataRow row) |
| void | insertRows(qsizetype rowIndex, QSurfaceDataArray rows) |
| const QSurfaceDataItem & | itemAt(QPoint position) const |
| const QSurfaceDataItem & | itemAt(qsizetype rowIndex, qsizetype columnIndex) const |
| void | removeRows(qsizetype rowIndex, qsizetype removeCount) |
| void | resetArray() |
| void | resetArray(QSurfaceDataArray newArray) |
| qsizetype | rowCount() const |
| QSurface3DSeries * | series() const |
| void | setItem(QPoint position, QSurfaceDataItem item) |
| void | setItem(qsizetype rowIndex, qsizetype columnIndex, QSurfaceDataItem item) |
| void | setRow(qsizetype rowIndex, QSurfaceDataRow row) |
| void | setRows(qsizetype rowIndex, QSurfaceDataArray rows) |
Signaux
| void | arrayReset() |
| void | columnCountChanged(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(QSurface3DSeries *series) |
Éléments non membres associés
Description détaillée
Un proxy de données de surface gère les données liées à la surface sous forme de lignes. Pour cela, il fournit deux alias de type auxiliaires : QtGraphs::QSurfaceDataArray et QtGraphs::QSurfaceDataRow. QSurfaceDataArray est un objet de type « QList » qui contrôle les lignes. QSurfaceDataRow est un objet de type « QList » qui contient des objets de type « QSurfaceDataItem ». Pour plus d’informations sur la manière de fournir les données au proxy, consultez l’exemple de code dans la documentation Q3DSurfaceWidgetItem. Les données étant stockées sous forme de séries, il est nécessaire de créer une série associée au proxy avant d’utiliser ces fonctions pour le jeu de données.
Toutes les lignes doivent comporter le même nombre d’éléments.
QSurfaceDataProxy prend possession de tous les objets ` QSurfaceDataRow ` qui lui sont transmis, que ce soit directement ou via 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, il faut émettre le signal approprié pour mettre à jour le graphe.
Pour créer une surface cohérente, la valeur x de chaque élément successif dans toutes les lignes doit être soit croissante, soit décroissante sur toute la ligne. De même, la valeur z de chaque élément successif dans toutes les colonnes doit être soit croissante, soit décroissante sur toute la colonne.
Remarque : Actuellement , seules les surfaces comportant 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 tient pas entièrement dans les plages visibles des axes x ou z.
Remarque : les surfaces comportant moins de deux lignes ou colonnes sont rendues sous forme de lignes.
Remarque : dans certains environnements, les surfaces comportant un grand nombre de sommets visibles peuvent ne pas s’afficher, car elles dépassent le nombre de sommets par dessin pris en charge par le pilote graphique. Ce problème se pose principalement sur les plateformes 32 bits et OpenGL ES2.
Voir également la documentation surle traitement des donnéesQt Graphs avec la 3D.
Documentation sur les propriétés
[read-only] columnCount : qsizetype
Cette propriété contient le nombre de colonnes du tableau de données.
Fonctions d'accès :
| qsizetype | columnCount() const |
Signal de notification :
| void | columnCountChanged(qsizetype count) |
[read-only] rowCount : qsizetype
Cette propriété contient le nombre de lignes du tableau de données.
Fonctions d'accès :
| qsizetype | rowCount() const |
Signal de notification :
| void | rowCountChanged(qsizetype count) |
[read-only] series : QSurface3DSeries*
Cette propriété contient la série à laquelle ce proxy est associé.
Fonctions d'accès :
| QSurface3DSeries * | series() const |
Signal de notification :
| void | seriesChanged(QSurface3DSeries *series) |
Documentation des fonctions membres
[explicit] QSurfaceDataProxy::QSurfaceDataProxy(QObject *parent = nullptr)
Construit un objet `QSurfaceDataProxy` à partir de l'parent` fourni.
[override virtual noexcept] QSurfaceDataProxy::~QSurfaceDataProxy()
Supprime le proxy des données de surface.
qsizetype QSurfaceDataProxy::addRow(QSurfaceDataRow row)
Ajoute la nouvelle ligne « row » à la fin d'un tableau. La nouvelle ligne doit comporter le même nombre de colonnes que les lignes du tableau initial.
Renvoie l'index de la ligne ajoutée.
qsizetype QSurfaceDataProxy::addRows(QSurfaceDataArray rows)
Ajoute de nouvelles lignes ( rows ) à la fin d'un tableau. Les nouvelles lignes doivent comporter le même nombre de colonnes que les lignes du tableau initial.
Renvoie l'index de la première ligne ajoutée.
[signal] void QSurfaceDataProxy::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 QSurfaceDataProxy::insertRow(qsizetype 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 comporter le même nombre de colonnes que les lignes du tableau initial.
void QSurfaceDataProxy::insertRows(qsizetype rowIndex, QSurfaceDataArray rows)
Insère un nouveau tableau rows dans rowIndex. Si rowIndex est égal à la taille du tableau, les lignes sont ajoutées à la fin du tableau. Le nouveau tableau rows doit comporter le même nombre de colonnes que de lignes dans le tableau initial.
const QSurfaceDataItem &QSurfaceDataProxy::itemAt(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 QSurfaceDataItem &QSurfaceDataProxy::itemAt(qsizetype rowIndex, qsizetype 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 QSurfaceDataProxy::itemChanged(qsizetype rowIndex, qsizetype 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 QSurfaceDataProxy::removeRows(qsizetype rowIndex, qsizetype removeCount)
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.
void QSurfaceDataProxy::resetArray()
Efface le tableau existant et déclenche le signal ` arrayReset()`.
void QSurfaceDataProxy::resetArray(QSurfaceDataArray newArray)
* Définit le tableau à partir de newArray. Si le nouveau tableau est identique à celui * existant, cette fonction se contente de déclencher le signal arrayReset().
[signal] void QSurfaceDataProxy::rowsAdded(qsizetype startIndex, qsizetype 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(qsizetype startIndex, qsizetype 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(qsizetype startIndex, qsizetype 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(qsizetype startIndex, qsizetype count)
Ce signal est émis lorsque le nombre de lignes spécifié par ` count ` est supprimé, en commençant à la position ` startIndex`.
L'index correspond à la taille actuelle du tableau si les lignes ont été supprimées à 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 QSurfaceDataProxy::setItem(QPoint position, QSurfaceDataItem 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 QSurfaceDataProxy::setItem(qsizetype rowIndex, qsizetype columnIndex, QSurfaceDataItem item)
Remplace un élément unique situé à l'emplacement spécifié par rowIndex et columnIndex par l'élément item.
void QSurfaceDataProxy::setRow(qsizetype rowIndex, QSurfaceDataRow 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. La nouvelle ligne doit comporter le même nombre de colonnes que la ligne qu'elle remplace.
void QSurfaceDataProxy::setRows(qsizetype rowIndex, QSurfaceDataArray rows)
Modifie les lignes existantes en remplaçant les lignes à partir de la position rowIndex par les nouvelles lignes spécifiées par rows. Les lignes du tableau rows peuvent être identiques aux lignes existantes déjà stockées à l'adresse rowIndex. Les nouvelles lignes doivent comporter le même nombre de colonnes que les lignes qu'elles remplacent.
Éléments associés non membres
[alias] QSurfaceDataArray
Une liste de pointeurs vers des objets de type ` QSurfaceDataRow `.
[alias] 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.