Sur cette page

QItemModelSurfaceDataProxy Class

Classe de proxy permettant de présenter des données dans des modèles d'éléments à l'aide de ` Q3DSurfaceWidgetItem`. En savoir plus...

En-tête : #include <QItemModelSurfaceDataProxy>
CMake : find_package(Qt6 REQUIRED COMPONENTS Graphs)
target_link_libraries(mytarget PRIVATE Qt6::Graphs)
qmake : QT += graphs
En QML : ItemModelSurfaceDataProxy
Hérite de : QSurfaceDataProxy

Types publics

enum class MultiMatchBehavior { First, Last, Average, CumulativeY }

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() override
bool autoColumnCategories() const
bool autoRowCategories() const
QStringList columnCategories() const
qsizetype 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
qsizetype 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 des modèles dérivés de l’ QAbstractItemModel comme source de données pour Q3DSurfaceWidgetItem. Il utilise les mappages définis pour mapper les données du modèle aux lignes, colonnes et points de surface du graphique Q3DSurfaceWidgetItem.

Les données sont résolues de manière asynchrone chaque fois que le mappage ou le modèle change. L'événement « QSurfaceDataProxy::arrayReset() » est émis lorsque les données ont été résolues. Cependant, lorsque la propriété « useModelCategories » est définie sur « true », les modifications portant sur un seul élément sont résolues de manière synchrone, sauf si la même trame contient é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 ` vers les lignes et les colonnes de ` Q3DSurfaceWidgetItem`, et utilisera par défaut la valeur renvoyée par ` Qt::DisplayRole ` comme position Y. Les en-têtes de lignes et de colonnes sont utilisés par défaut pour les positions Z et X, s’ils peuvent être convertis en nombres à virgule flottante. Sinon, ce sont les indices de lignes et de colonnes qui sont utilisés. Le rôle de position Y à utiliser peut être redéfini si Qt::DisplayRole ne convient pas. Les rôles de position Z et X à 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 déjà soigneusement triées en lignes et en colonnes, tels que les modèles basés sur « QAbstractListModel », vous pouvez définir un rôle à partir du modèle pour effectuer le mappage de chacune des lignes, colonnes et positions Y.
  • Si vous ne souhaitez pas inclure toutes les données contenues dans le modèle, ou si l'ordre des lignes et des colonnes générées automatiquement ne vous convient pas, vous pouvez spécifier quelles lignes et colonnes doivent être incluses et dans quel ordre en définissant une liste explicite de catégories pour les lignes, les colonnes ou les deux.

Par exemple, supposons que vous disposiez d’un modèle « QAbstractItemModel » personnalisé stockant des données de topographie de surface. Chaque élément du modèle possède les rôles « longitude », « latitude » et « altitude ». Le modèle d’éléments contient déjà les données correctement triées, de sorte que les longitudes et les latitudes apparaissent d’abord dans le bon ordre, ce qui nous permet d’utiliser la génération automatique des catégories de lignes et de colonnes. Vous pouvez procéder comme suit pour afficher les données dans un graphique de surface :

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 exactement au format dont vous avez besoin, vous pouvez spécifier une expression régulière de recherche et une règle de remplacement pour chaque rôle afin d'obtenir la valeur au format souhaité. Pour plus d’informations sur le fonctionnement du remplacement à l’aide d’expressions régulières, consultez la documentation relative à 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 aucune recherche ni aucun remplacement ne sont nécessaires pour obtenir les valeurs souhaitées.

Par exemple, pour en savoir plus sur l’utilisation des motifs de recherche en association avec les rôles, consultez la section « Utilisation de ItemModelBarDataProxy » dans « Simple Bar Graph ».

Voir également la documentation surle traitement des données d’Qt Graphs en 3D.

Documentation sur les types de membres

enum class QItemModelSurfaceDataProxy::MultiMatchBehavior

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

ConstanteValeurDescription
QItemModelSurfaceDataProxy::MultiMatchBehavior::First0Les valeurs de position sont extraites du premier élément du modèle d'éléments correspondant à chaque combinaison ligne/colonne.
QItemModelSurfaceDataProxy::MultiMatchBehavior::Last1Les valeurs de position sont extraites du dernier élément du modèle d'éléments correspondant à chaque combinaison ligne/colonne.
QItemModelSurfaceDataProxy::MultiMatchBehavior::Average2Les valeurs de position de tous les éléments correspondant à chaque combinaison ligne/colonne sont moyennées, et ces moyennes sont utilisées comme position du point de surface.
QItemModelSurfaceDataProxy::MultiMatchBehavior::CumulativeY3Pour les valeurs X et Z, cela fonctionne exactement comme Average, 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é s'applique que les catégories de colonnes soient générées automatiquement ou non.

Lorsqu’elle est définie sur « true », le mappage ignore toutes les catégories de colonnes définies explicitement et les remplace par celles 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é s'applique que les catégories de lignes soient générées automatiquement ou non.

Lorsqu’elle est définie sur « true », la mise en correspondance ignore toutes les catégories de lignes définies explicitement et les remplace par celles 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 des 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é définit le rôle du modèle d'élément à associer à 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 « colonne » est également définie comme la coordonnée X de l'QSurfaceDataItem e lors de la résolution des données du modèle, à moins qu'un rôle « 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é détermine si une opération de recherche et de remplacement est effectuée sur la valeur associée au rôle de colonne avant que celle-ci ne soit utilisée comme catégorie de colonne.

Cette propriété spécifie l'expression régulière permettant de repérer la partie de la valeur mappée à remplacer, tandis que la propriété « columnRoleReplace » contient la chaîne de remplacement.

Fonctions d’accès :

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

Signal de notification :

void columnRolePatternChanged(const QRegularExpression &pattern)

Voir également « columnRole » et « columnRoleReplace ».

columnRoleReplace : QString

Cette propriété contient le contenu de remplacement à utiliser en association 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, consultez la documentation relative à la fonction « QString::replace » (const QRegularExpression &rx, const QString &after).

Fonctions d’accès :

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

Signal de notification :

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 : QItemModelSurfaceDataProxy::MultiMatchBehavior

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

La valeur par défaut est « Last ».

Par exemple, vous disposez peut-être d’un modèle d’éléments contenant des données horodatées collectées à intervalles irréguliers et vous souhaitez visualiser la position moyenne des éléments de données toutes les heures à l’aide d’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 la surface représente une heure, puis définir cette propriété sur « Moyenne ».

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é définit le rôle du modèle d'élément à associer à 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 coordonnée Z de l'QSurfaceDataItem e lors de la résolution des données du modèle, à 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 opération de recherche et de remplacement est effectuée 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 permettant de repérer la partie de la valeur mappée à remplacer, tandis que la propriété « rowRoleReplace » contient la chaîne de remplacement.

Fonctions d’accès :

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

Signal de notification :

void rowRolePatternChanged(const QRegularExpression &pattern)

Voir également « rowRole » et « rowRoleReplace ».

rowRoleReplace : QString

Cette propriété contient le contenu de remplacement à utiliser avec le modèle de rôle « row ».

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, consultez la documentation relative à la fonction ` QString::replace` (const QRegularExpression &rx, const QString &after).

Fonctions d’accès :

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

Signal de notification :

void rowRoleReplaceChanged(const QString &replace)

Voir également rowRole et rowRolePattern.

useModelCategories : bool

Cette propriété s'applique que les rôles et catégories de lignes et de colonnes soient utilisés ou non pour le mappage.

Lorsqu’elle est définie sur « true », la mise en correspondance ignore les rôles et catégories de lignes et de 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é joue le rôle de modèle d'élément permettant de mapper la position X.

Si ce rôle n'est pas défini, la propriété « columnRole » est utilisée 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 opération de recherche et de remplacement est effectuée sur la valeur associée au rôle de position x avant qu'elle ne soit utilisée comme valeur de position d'élément.

Cette propriété spécifie l'expression régulière permettant de repérer la partie de la valeur mappée à remplacer, tandis que la propriété « xPosRoleReplace » contient la chaîne de remplacement.

Fonctions d'accès :

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

Signal de notification :

void xPosRolePatternChanged(const QRegularExpression &pattern)

Voir également « xPosRole » et « xPosRoleReplace ».

xPosRoleReplace : QString

Cette propriété contient le contenu de remplacement à utiliser avec un motif 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, consultez la documentation relative à la fonction « QString::replace » (const QRegularExpression &rx, const QString &after).

Fonctions d’accès :

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

Signal de notification :

void xPosRoleReplaceChanged(const QString &replace)

Voir également xPosRole et xPosRolePattern.

yPosRole : QString

Cette propriété joue le rôle de modèle d'élément permettant de mapper 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 opération de recherche et de remplacement est effectuée sur la valeur associée au rôle de position y avant qu’elle ne soit utilisée comme valeur de position d’élément.

Cette propriété spécifie l'expression régulière permettant de repérer la partie de la valeur mappée à remplacer, tandis que la propriété « yPosRoleReplace » contient la chaîne de remplacement.

Fonctions d'accès :

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

Signal de notification :

void yPosRolePatternChanged(const QRegularExpression &pattern)

Voir également yPosRole et yPosRoleReplace.

yPosRoleReplace : QString

Cette propriété contient le contenu de remplacement à utiliser 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, consultez la documentation relative à la fonction « QString::replace » (const QRegularExpression &rx, const QString &after).

Fonctions d’accès :

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

Signal de notification :

void yPosRoleReplaceChanged(const QString &replace)

Voir également yPosRole et yPosRolePattern.

zPosRole : QString

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

Si ce rôle n'est pas défini, la fonction « rowRole » est utilisée 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 opération de recherche et de remplacement est effectuée sur la valeur associée au rôle « position z » avant que celle-ci ne soit utilisée comme valeur de position d'un élément.

Cette propriété spécifie l’expression régulière permettant de repérer la partie de la valeur mappée à remplacer, tandis que 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 également « zPosRole » et « zPosRoleReplace ».

zPosRoleReplace : QString

Cette propriété contient le contenu de remplacement à utiliser en association 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, consultez la documentation relative à la fonction « QString::replace » (const QRegularExpression &rx, const QString &after).

Fonctions d’accès :

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

Signal de notification :

void zPosRoleReplaceChanged(const QString &replace)

Voir également zPosRole et zPosRolePattern.

Documentation des fonctions membres

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

Construit un objet `QItemModelSurfaceDataProxy` avec un paramètre facultatif ` parent`.

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

Construit un objet `QItemModelSurfaceDataProxy` à partir d'un ` itemModel ` et, éventuellement, d'un ` parent`. Le proxy ne prend pas possession de l'` itemModel`, car les modèles d'élément appartiennent généralement à d'autres contrôles.

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

Construit un objet `QItemModelSurfaceDataProxy` à partir d’un ` itemModel ` et, éventuellement, d’un ` parent`. Le proxy ne prend pas possession de l’` itemModel`, car les modèles d’éléments appartiennent généralement à d’autres contrôles. Le rôle ` yPosRole ` est défini sur ` 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 ; il définit donc également la propriété ` useModelCategories ` sur ` true`.

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

Construit un objet `QItemModelSurfaceDataProxy` à partir de ` itemModel ` et, éventuellement, d'un ` parent`. Le proxy ne prend pas possession de ` itemModel`, car les modèles d'éléments appartiennent généralement à d'autres contrôles. Les correspondances de rôles sont définies à l'aide de ` rowRole`, ` columnRole` et ` yPosRole`. Les propriétés ` zPosRole ` et ` xPosRole ` sont respectivement définies sur ` 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 un objet `QItemModelSurfaceDataProxy` à partir de ` itemModel ` et d'un ` parent` facultatif. Le proxy ne prend pas possession de l'objet ` itemModel`, car les modèles d'éléments appartiennent généralement à d'autres contrôles. Les correspondances de rôles sont définies à l'aide de ` 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 un objet `QItemModelSurfaceDataProxy` à partir de ` itemModel ` et d’un ` parent` facultatif. Le proxy ne prend pas possession 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 à l’aide de ` rowRole`, ` columnRole` et ` yPosRole`. Les propriétés ` zPosRole ` et ` xPosRole ` sont respectivement définies sur ` rowRole ` et ` columnRole`. Les catégories de lignes et de colonnes sont définies à l’aide de ` rowCategories ` et ` columnCategories`. Ce constructeur définit également ` autoRowCategories ` et ` autoColumnCategories ` sur `false`.

[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 un objet `QItemModelSurfaceDataProxy` à partir de ` itemModel ` et, éventuellement, de ` parent`. Le proxy ne prend pas possession de ` itemModel`, car les modèles d'éléments appartiennent généralement à d'autres contrôles. Les correspondances de rôles sont définies à l'aide de ` rowRole`, ` columnRole`, ` xPosRole`, ` yPosRole` et ` zPosRole`. Les catégories de lignes et de colonnes sont définies à l'aide de ` rowCategories ` et ` columnCategories`. Ce constructeur définit également ` autoRowCategories ` et ` autoColumnCategories ` sur `false`.

[override virtual noexcept] QItemModelSurfaceDataProxy::~QItemModelSurfaceDataProxy()

Supprime QItemModelSurfaceDataProxy.

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

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

Remarque : si la génération automatique des catégories de colonnes est activé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 appelée via le système de méta-objets et depuis 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)

Modifications apportées au mappage des adresses rowRole, columnRole, xPosRole, yPosRole, zPosRole, rowCategories et columnCategories.

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

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

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

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

void QItemModelSurfaceDataProxy::setItemModel(QAbstractItemModel *itemModel)

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

Remarque : fonctionde 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.