Sur cette page

QItemModelSurfaceDataProxy Class

Classe proxy pour la présentation des données dans les modèles d'éléments avec Q3DSurface. Plus...

En-tête : #include <QItemModelSurfaceDataProxy>
CMake : find_package(Qt6 REQUIRED COMPONENTS DataVisualization)
target_link_libraries(mytarget PRIVATE Qt6::DataVisualization)
qmake : QT += datavisualization
Depuis : QtDataVisualization 1.0
En QML : ItemModelSurfaceDataProxy
Hérites : QSurfaceDataProxy

Types publics

enum MultiMatchBehavior { MMBFirst, MMBLast, MMBAverage, MMBCumulativeY }

Propriétés

Fonctions publiques

QItemModelSurfaceDataProxy(QObject *parent = nullptr)
QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)
QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &yPosRole, QObject *parent = nullptr)
QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &yPosRole, QObject *parent = nullptr)
QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, QObject *parent = nullptr)
QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &yPosRole, const QStringList &rowCategories, const QStringList &columnCategories, QObject *parent = nullptr)
QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QStringList &rowCategories, const QStringList &columnCategories, QObject *parent = nullptr)
virtual ~QItemModelSurfaceDataProxy()
bool autoColumnCategories() const
bool autoRowCategories() const
QStringList columnCategories() const
int columnCategoryIndex(const QString &category)
QString columnRole() const
QRegularExpression columnRolePattern() const
QString columnRoleReplace() const
QAbstractItemModel *itemModel() const
QItemModelSurfaceDataProxy::MultiMatchBehavior multiMatchBehavior() const
void remap(const QString &rowRole, const QString &columnRole, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QStringList &rowCategories, const QStringList &columnCategories)
QStringList rowCategories() const
int rowCategoryIndex(const QString &category)
QString rowRole() const
QRegularExpression rowRolePattern() const
QString rowRoleReplace() const
void setAutoColumnCategories(bool enable)
void setAutoRowCategories(bool enable)
void setColumnCategories(const QStringList &categories)
void setColumnRole(const QString &role)
void setColumnRolePattern(const QRegularExpression &pattern)
void setColumnRoleReplace(const QString &replace)
void setItemModel(QAbstractItemModel *itemModel)
void setMultiMatchBehavior(QItemModelSurfaceDataProxy::MultiMatchBehavior behavior)
void setRowCategories(const QStringList &categories)
void setRowRole(const QString &role)
void setRowRolePattern(const QRegularExpression &pattern)
void setRowRoleReplace(const QString &replace)
void setUseModelCategories(bool enable)
void setXPosRole(const QString &role)
void setXPosRolePattern(const QRegularExpression &pattern)
void setXPosRoleReplace(const QString &replace)
void setYPosRole(const QString &role)
void setYPosRolePattern(const QRegularExpression &pattern)
void setYPosRoleReplace(const QString &replace)
void setZPosRole(const QString &role)
void setZPosRolePattern(const QRegularExpression &pattern)
void setZPosRoleReplace(const QString &replace)
bool useModelCategories() const
QString xPosRole() const
QRegularExpression xPosRolePattern() const
QString xPosRoleReplace() const
QString yPosRole() const
QRegularExpression yPosRolePattern() const
QString yPosRoleReplace() const
QString zPosRole() const
QRegularExpression zPosRolePattern() const
QString zPosRoleReplace() const

Signaux

void autoColumnCategoriesChanged(bool enable)
void autoRowCategoriesChanged(bool enable)
void columnCategoriesChanged()
void columnRoleChanged(const QString &role)
void columnRolePatternChanged(const QRegularExpression &pattern)
void columnRoleReplaceChanged(const QString &replace)
void itemModelChanged(const QAbstractItemModel *itemModel)
void multiMatchBehaviorChanged(QItemModelSurfaceDataProxy::MultiMatchBehavior behavior)
void rowCategoriesChanged()
void rowRoleChanged(const QString &role)
void rowRolePatternChanged(const QRegularExpression &pattern)
void rowRoleReplaceChanged(const QString &replace)
void useModelCategoriesChanged(bool enable)
void xPosRoleChanged(const QString &role)
void xPosRolePatternChanged(const QRegularExpression &pattern)
void xPosRoleReplaceChanged(const QString &replace)
void yPosRoleChanged(const QString &role)
void yPosRolePatternChanged(const QRegularExpression &pattern)
void yPosRoleReplaceChanged(const QString &replace)
void zPosRoleChanged(const QString &role)
void zPosRolePatternChanged(const QRegularExpression &pattern)
void zPosRoleReplaceChanged(const QString &replace)

Description détaillée

QItemModelSurfaceDataProxy vous permet d'utiliser les modèles dérivés de QAbstractItemModel comme source de données pour Q3DSurface. Il utilise les mappages définis pour mettre en correspondance les données du modèle avec les lignes, les colonnes et les points de surface du graphique Q3DSurface.

Les données sont résolues de manière asynchrone chaque fois que le mappage ou le modèle change. QSurfaceDataProxy::arrayReset() est émis lorsque les données ont été résolues. Toutefois, lorsque la propriété useModelCategories est définie sur true, les modifications apportées à un seul élément sont résolues de manière synchrone, à moins que la même image ne contienne également une modification entraînant la résolution de l'ensemble du modèle.

Les mappages peuvent être utilisés de la manière suivante :

  • Si la propriété useModelCategories est définie sur true, ce proxy mappera les lignes et les colonnes de QAbstractItemModel sur les lignes et les colonnes de Q3DSurface, et utilisera la valeur renvoyée pour Qt::DisplayRole comme position Y par défaut. Les en-têtes de ligne et de colonne sont utilisés par défaut pour la position Z et la position X, s'ils peuvent être convertis en nombres flottants. Sinon, les indices de ligne et de colonne sont utilisés. Le rôle de la position Y à utiliser peut être redéfini si Qt::DisplayRole ne convient pas. Les rôles Z-position et X-position à utiliser peuvent être redéfinis si les en-têtes ou les indices ne conviennent pas.
  • Pour les modèles dont les données ne sont pas triées proprement en lignes et en colonnes, tels que les modèles basés sur QAbstractListModel, vous pouvez définir un rôle du modèle à mapper pour chaque ligne, chaque colonne et chaque position Y.
  • Si vous ne souhaitez pas inclure toutes les données contenues dans le modèle, ou si les lignes et les colonnes autogénérées ne sont pas ordonnées comme vous le souhaitez, vous pouvez spécifier quelles lignes et quelles colonnes doivent être incluses et dans quel ordre en définissant une liste explicite de catégories pour l'une ou l'autre des lignes et l'une ou l'autre des colonnes, ou les deux.

Par exemple, supposons que vous disposiez d'un site personnalisé QAbstractItemModel stockant des données de topographie de surface. Chaque élément du modèle a les rôles "longitude", "latitude" et "hauteur". Le modèle d'élément contient déjà les données correctement triées de sorte que les longitudes et les latitudes sont rencontrées en premier dans l'ordre correct, ce qui nous permet d'utiliser l'autogénération des catégories de lignes et de colonnes. Pour afficher les données dans un graphique de surface, vous pouvez procéder comme suit :

QItemModelSurfaceDataProxy *proxy = new QItemModelSurfaceDataProxy(customModel,
                                                                   QStringLiteral("longitude"), // Row role
                                                                   QStringLiteral("latitude"), // Column role
                                                                   QStringLiteral("height")); // Y-position role

Si les champs du modèle ne contiennent pas les données dans le format exact dont vous avez besoin, vous pouvez spécifier un modèle de recherche par expression régulière et une règle de remplacement pour chaque rôle afin d'obtenir la valeur dans le format dont vous avez besoin. Pour plus d'informations sur le fonctionnement du remplacement à l'aide d'expressions régulières, consultez la documentation de la fonction QString::replace(const QRegularExpression &rx, const QString &after). Notez que l'utilisation d'expressions régulières a un impact sur les performances. Il est donc plus efficace d'utiliser des modèles d'éléments pour lesquels il n'est pas nécessaire d'effectuer des recherches et des remplacements pour obtenir les valeurs souhaitées.

Pour un exemple d'utilisation des modèles de recherche en conjonction avec les rôles, voir ItemModelBarDataProxy usage in Simple Bar Graph example.

Voir également Qt Data Visualization Data Handling.

Documentation sur les types de membres

enum QItemModelSurfaceDataProxy::MultiMatchBehavior

Types de comportement pour la propriété QItemModelSurfaceDataProxy::multiMatchBehavior.

ConstanteValeurDescription
QItemModelSurfaceDataProxy::MMBFirst0Les valeurs de position sont prises à partir du premier élément du modèle d'élément qui correspond à chaque combinaison de ligne/colonne.
QItemModelSurfaceDataProxy::MMBLast1Les valeurs de position sont prises à partir du dernier élément du modèle d'élément qui correspond à chaque combinaison de ligne/colonne.
QItemModelSurfaceDataProxy::MMBAverage2La moyenne des valeurs de position de tous les éléments correspondant à chaque combinaison ligne/colonne est calculée et les moyennes sont utilisées comme position du point de surface.
QItemModelSurfaceDataProxy::MMBCumulativeY3Pour les valeurs X et Z, le fonctionnement est identique à celui de MMBAverage, mais les valeurs Y sont additionnées au lieu d'être moyennées et le total est utilisé comme position Y du point de surface.

Documentation sur les propriétés

autoColumnCategories : bool

Cette propriété indique si les catégories de colonnes sont générées automatiquement.

Si elle vaut true, le mappage ignore les catégories de colonnes définies explicitement et les remplace par des catégories générées automatiquement chaque fois que les données du modèle sont résolues. La valeur par défaut est true.

Fonctions d'accès :

bool autoColumnCategories() const
void setAutoColumnCategories(bool enable)

Signal de notification :

void autoColumnCategoriesChanged(bool enable)

autoRowCategories : bool

Cette propriété indique si les catégories de lignes sont générées automatiquement.

Lorsque cette propriété vaut true, le mappage ignore les catégories de ligne définies explicitement et les remplace par des catégories générées automatiquement chaque fois que les données du modèle sont résolues. La valeur par défaut est true.

Fonctions d'accès :

bool autoRowCategories() const
void setAutoRowCategories(bool enable)

Signal de notification :

void autoRowCategoriesChanged(bool enable)

columnCategories : QStringList

Cette propriété contient les catégories de colonnes pour le mappage.

Fonctions d'accès :

QStringList columnCategories() const
void setColumnCategories(const QStringList &categories)

Signal de notification :

void columnCategoriesChanged()

columnRole : QString

Cette propriété contient le rôle du modèle d'élément à mettre en correspondance avec la catégorie de colonne.

Outre la définition de la colonne à laquelle les données appartiennent, la valeur indiquée par le rôle de colonne est également définie comme la valeur de la coordonnée X de QSurfaceDataItem lorsque les données du modèle sont résolues, à moins qu'un rôle de position x distinct ne soit également défini.

Fonctions d'accès :

QString columnRole() const
void setColumnRole(const QString &role)

Signal de notification :

void columnRoleChanged(const QString &role)

columnRolePattern : QRegularExpression

Cette propriété indique si une recherche et un remplacement sont effectués sur la valeur mappée par le rôle de colonne avant qu'elle ne soit utilisée comme catégorie de colonne.

Cette propriété spécifie l'expression régulière pour trouver la partie de la valeur mappée à remplacer et la propriété columnRoleReplace contient la chaîne de remplacement.

Fonctions d'accès :

QRegularExpression columnRolePattern() const
void setColumnRolePattern(const QRegularExpression &pattern)

Notifier signal :

void columnRolePatternChanged(const QRegularExpression &pattern)

Voir aussi columnRole et columnRoleReplace.

columnRoleReplace : QString

Cette propriété contient le contenu de remplacement à utiliser en conjonction avec un modèle de rôle de colonne.

La valeur par défaut est une chaîne vide. Pour plus d'informations sur le fonctionnement de la recherche et du remplacement à l'aide d'expressions régulières, voir la documentation de la fonction QString::replace(const QRegularExpression &rx, const QString &after).

Fonctions d'accès :

QString columnRoleReplace() const
void setColumnRoleReplace(const QString &replace)

Signal du notificateur :

void columnRoleReplaceChanged(const QString &replace)

Voir également columnRole et columnRolePattern.

itemModel : QAbstractItemModel*

Cette propriété contient le modèle d'élément utilisé comme source de données pour la surface 3D.

Fonctions d'accès :

QAbstractItemModel *itemModel() const
void setItemModel(QAbstractItemModel *itemModel)

Signal de notification :

void itemModelChanged(const QAbstractItemModel *itemModel)

multiMatchBehavior : MultiMatchBehavior

Comment sont gérées les correspondances multiples pour chaque combinaison ligne/colonne.

La valeur par défaut est MMBLast.

Par exemple, vous pouvez avoir un modèle d'élément avec des données horodatées prises à des intervalles irréguliers et vous voulez visualiser une position moyenne des éléments de données à chaque heure avec un graphique de surface. Pour ce faire, vous pouvez spécifier des catégories de lignes et de colonnes de sorte que chaque point de surface représente une heure, et définir cette propriété sur MMBAverage.

Fonctions d'accès :

QItemModelSurfaceDataProxy::MultiMatchBehavior multiMatchBehavior() const
void setMultiMatchBehavior(QItemModelSurfaceDataProxy::MultiMatchBehavior behavior)

Signal de notification :

void multiMatchBehaviorChanged(QItemModelSurfaceDataProxy::MultiMatchBehavior behavior)

rowCategories : QStringList

Cette propriété contient les catégories de lignes pour le mappage.

Fonctions d'accès :

QStringList rowCategories() const
void setRowCategories(const QStringList &categories)

Signal de notification :

void rowCategoriesChanged()

rowRole : QString

Cette propriété contient le rôle du modèle d'élément à mettre en correspondance avec la catégorie de ligne.

Outre la définition de la ligne à laquelle les données appartiennent, la valeur indiquée par le rôle de ligne est également définie comme la valeur de la coordonnée Z de QSurfaceDataItem lorsque les données du modèle sont résolues, à moins qu'un rôle de position z distinct ne soit également défini.

Fonctions d'accès :

QString rowRole() const
void setRowRole(const QString &role)

Signal de notification :

void rowRoleChanged(const QString &role)

rowRolePattern : QRegularExpression

Cette propriété indique si une recherche et un remplacement sont effectués sur la valeur mappée par le rôle de ligne avant qu'elle ne soit utilisée comme catégorie de ligne.

Cette propriété spécifie l'expression régulière pour trouver la partie de la valeur mappée à remplacer et la propriété rowRoleReplace contient la chaîne de remplacement.

Fonctions d'accès :

QRegularExpression rowRolePattern() const
void setRowRolePattern(const QRegularExpression &pattern)

Notifier signal :

void rowRolePatternChanged(const QRegularExpression &pattern)

Voir aussi rowRole et rowRoleReplace.

rowRoleReplace : QString

Cette propriété contient le contenu de remplacement à utiliser en conjonction avec le modèle de rôle de la ligne.

La valeur par défaut est une chaîne vide. Pour plus d'informations sur le fonctionnement de la recherche et du remplacement à l'aide d'expressions régulières, voir la documentation de la fonction QString::replace(const QRegularExpression &rx, const QString &after).

Fonctions d'accès :

QString rowRoleReplace() const
void setRowRoleReplace(const QString &replace)

Signal du notificateur :

void rowRoleReplaceChanged(const QString &replace)

Voir également rowRole et rowRolePattern.

useModelCategories : bool

Cette propriété indique si les rôles et les catégories des lignes et des colonnes sont utilisés pour le mappage.

Si elle vaut true, le mappage ignore les rôles et les catégories des lignes et des colonnes et utilise à la place les lignes et les colonnes du modèle. La valeur par défaut est false.

Fonctions d'accès :

bool useModelCategories() const
void setUseModelCategories(bool enable)

Signal de notification :

void useModelCategoriesChanged(bool enable)

xPosRole : QString

Cette propriété contient le rôle du modèle d'élément à mettre en correspondance avec la position X.

Si ce rôle n'est pas défini, columnRole est utilisé pour déterminer la valeur de la coordonnée X des objets QSurfaceDataItem résolus.

Fonctions d'accès :

QString xPosRole() const
void setXPosRole(const QString &role)

Signal de notification :

void xPosRoleChanged(const QString &role)

xPosRolePattern : QRegularExpression

Cette propriété indique si une recherche et un remplacement sont effectués sur la valeur mappée par le rôle x position avant qu'elle ne soit utilisée comme valeur de position de l'élément.

Cette propriété spécifie l'expression régulière permettant de trouver la partie de la valeur mappée à remplacer et la propriété xPosRoleReplace contient la chaîne de remplacement.

Fonctions d'accès :

QRegularExpression xPosRolePattern() const
void setXPosRolePattern(const QRegularExpression &pattern)

Notifier signal :

void xPosRolePatternChanged(const QRegularExpression &pattern)

Voir aussi xPosRole et xPosRoleReplace.

xPosRoleReplace : QString

Cette propriété contient le contenu de remplacement à utiliser en conjonction avec un modèle de rôle de position x.

La valeur par défaut est une chaîne vide. Pour plus d'informations sur le fonctionnement de la recherche et du remplacement à l'aide d'expressions régulières, voir la documentation de la fonction QString::replace(const QRegularExpression &rx, const QString &after).

Fonctions d'accès :

QString xPosRoleReplace() const
void setXPosRoleReplace(const QString &replace)

Signal du notificateur :

void xPosRoleReplaceChanged(const QString &replace)

Voir également xPosRole et xPosRolePattern.

yPosRole : QString

Cette propriété contient le rôle du modèle d'élément à associer à la position Y.

Fonctions d'accès :

QString yPosRole() const
void setYPosRole(const QString &role)

Signal de notification :

void yPosRoleChanged(const QString &role)

yPosRolePattern : QRegularExpression

Cette propriété indique si une recherche et un remplacement sont effectués sur la valeur mappée par le rôle de position y avant qu'elle ne soit utilisée comme valeur de position de l'élément.

Cette propriété spécifie l'expression régulière permettant de trouver la partie de la valeur mappée à remplacer et la propriété yPosRoleReplace contient la chaîne de remplacement.

Fonctions d'accès :

QRegularExpression yPosRolePattern() const
void setYPosRolePattern(const QRegularExpression &pattern)

Notifier signal :

void yPosRolePatternChanged(const QRegularExpression &pattern)

Voir aussi yPosRole et yPosRoleReplace.

yPosRoleReplace : QString

Cette propriété contient le contenu de remplacement à utiliser en conjonction avec un modèle de rôle de position y.

La valeur par défaut est une chaîne vide. Pour plus d'informations sur le fonctionnement de la recherche et du remplacement à l'aide d'expressions régulières, voir la documentation de la fonction QString::replace(const QRegularExpression &rx, const QString &after).

Fonctions d'accès :

QString yPosRoleReplace() const
void setYPosRoleReplace(const QString &replace)

Signal du notificateur :

void yPosRoleReplaceChanged(const QString &replace)

Voir également yPosRole et yPosRolePattern.

zPosRole : QString

Cette propriété contient le rôle du modèle d'élément à associer à la position Z. Si ce rôle n'est pas défini, est utilisé pour déterminer la valeur de la coordonnée Z.

Si ce rôle n'est pas défini, rowRole est utilisé pour déterminer la valeur de la coordonnée Z des objets QSurfaceDataItem résolus.

Fonctions d'accès :

QString zPosRole() const
void setZPosRole(const QString &role)

Signal de notification :

void zPosRoleChanged(const QString &role)

zPosRolePattern : QRegularExpression

Cette propriété indique si une recherche et un remplacement sont effectués sur la valeur mappée par le rôle z position avant qu'elle ne soit utilisée comme valeur de position de l'élément.

Cette propriété spécifie l'expression régulière pour trouver la partie de la valeur mappée à remplacer et la propriété zPosRoleReplace contient la chaîne de remplacement.

Fonctions d'accès :

QRegularExpression zPosRolePattern() const
void setZPosRolePattern(const QRegularExpression &pattern)

Signal de notification :

void zPosRolePatternChanged(const QRegularExpression &pattern)

Voir aussi zPosRole et zPosRoleReplace.

zPosRoleReplace : QString

Cette propriété contient le contenu de remplacement à utiliser en conjonction avec un modèle de rôle de position z.

La valeur par défaut est une chaîne vide. Pour plus d'informations sur le fonctionnement de la recherche et du remplacement à l'aide d'expressions régulières, voir la documentation de la fonction QString::replace(const QRegularExpression &rx, const QString &after).

Fonctions d'accès :

QString zPosRoleReplace() const
void setZPosRoleReplace(const QString &replace)

Signal du notificateur :

void zPosRoleReplaceChanged(const QString &replace)

Voir également zPosRole et zPosRolePattern.

Documentation sur les fonctions membres

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

Construit QItemModelSurfaceDataProxy avec l'option parent.

[explicit] QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, QObject *parent = nullptr)

Construit QItemModelSurfaceDataProxy avec itemModel et parent en option. Le proxy n'est pas propriétaire de itemModel, car les modèles d'éléments appartiennent généralement à d'autres contrôles.

[explicit] QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &yPosRole, QObject *parent = nullptr)

Construit QItemModelSurfaceDataProxy avec itemModel et parent en option. Le proxy n'est pas propriétaire de itemModel, car les modèles d'éléments appartiennent généralement à d'autres contrôles. Le rôle yPosRole est défini à yPosRole. Ce constructeur est destiné à être utilisé avec des modèles dont les données sont déjà correctement triées en lignes et en colonnes, c'est pourquoi il définit également la propriété useModelCategories à true.

[explicit] QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &yPosRole, QObject *parent = nullptr)

Construit QItemModelSurfaceDataProxy avec itemModel et parent en option. Le proxy n'est pas propriétaire de itemModel, car les modèles d'éléments appartiennent généralement à d'autres contrôles. Les mappages de rôles sont définis avec rowRole, columnRole, et yPosRole. Les adresses zPosRole et xPosRole sont respectivement remplacées par rowRole et columnRole.

[explicit] QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, QObject *parent = nullptr)

Construit QItemModelSurfaceDataProxy avec itemModel et parent en option. Le mandataire n'est pas propriétaire de itemModel, car les modèles d'éléments appartiennent généralement à d'autres contrôles. Les mappages de rôles sont définis avec rowRole, columnRole, xPosRole, yPosRole, et zPosRole.

[explicit] QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &yPosRole, const QStringList &rowCategories, const QStringList &columnCategories, QObject *parent = nullptr)

Construit QItemModelSurfaceDataProxy avec itemModel et parent en option. Le proxy n'est pas propriétaire de itemModel, car les modèles d'éléments appartiennent généralement à d'autres contrôles. Les mappages de rôles sont définis avec rowRole, columnRole, et yPosRole. Les adresses zPosRole et xPosRole sont respectivement remplacées par rowRole et columnRole. Les catégories de lignes et de colonnes sont définies par rowCategories et columnCategories. Ce constructeur définit également autoRowCategories et autoColumnCategories comme faux.

[explicit] QItemModelSurfaceDataProxy::QItemModelSurfaceDataProxy(QAbstractItemModel *itemModel, const QString &rowRole, const QString &columnRole, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QStringList &rowCategories, const QStringList &columnCategories, QObject *parent = nullptr)

Construit QItemModelSurfaceDataProxy avec itemModel et parent en option. Le mandataire n'est pas propriétaire de itemModel, car les modèles d'éléments appartiennent généralement à d'autres contrôles. Les mappages de rôles sont définis avec rowRole, columnRole, xPosRole, yPosRole, et zPosRole. Les catégories de lignes et de colonnes sont définies avec rowCategories et columnCategories. Ce constructeur définit également autoRowCategories et autoColumnCategories comme faux.

[virtual noexcept] QItemModelSurfaceDataProxy::~QItemModelSurfaceDataProxy()

Détruit QItemModelSurfaceDataProxy.

[invokable] int QItemModelSurfaceDataProxy::columnCategoryIndex(const QString &category)

Renvoie l'indice de la catégorie spécifiée category dans la liste des catégories de la colonne. Si la catégorie n'est pas trouvée, -1 est renvoyé.

Remarque : si la génération automatique de catégories de colonnes est utilisée, cette méthode ne renverra pas d'index valide avant que les données du modèle ne soient résolues pour la première fois.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

void QItemModelSurfaceDataProxy::remap(const QString &rowRole, const QString &columnRole, const QString &xPosRole, const QString &yPosRole, const QString &zPosRole, const QStringList &rowCategories, const QStringList &columnCategories)

Modifie rowRole, columnRole, xPosRole, yPosRole, zPosRole, rowCategories et columnCategories en fonction de la cartographie.

[invokable] int QItemModelSurfaceDataProxy::rowCategoryIndex(const QString &category)

Renvoie l'index du site category spécifié dans la liste des catégories de lignes. Si la liste des catégories de lignes est vide, -1 est renvoyé.

Remarque : si la génération automatique de catégories de lignes est utilisée, cette méthode ne renverra pas d'index valide avant que les données du modèle ne soient résolues pour la première fois.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

void QItemModelSurfaceDataProxy::setItemModel(QAbstractItemModel *itemModel)

Définit le modèle de l'élément à itemModel. Ne prend pas possession du modèle, mais s'y connecte pour écouter les changements.

Remarque : fonction de définition de la propriété itemModel.

Voir également itemModel().

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