QItemEditorCreatorBase Class
La classe `QItemEditorCreatorBase` fournit une classe de base abstraite qui doit être sous-classée lors de la mise en œuvre de nouveaux créateurs d'éditeurs d'éléments. En savoir plus...
| En-tête : | #include <QItemEditorCreatorBase> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake : | QT += widgets |
| Hérité par : |
Fonctions publiques
| virtual | ~QItemEditorCreatorBase() |
| virtual QWidget * | createWidget(QWidget *parent) const = 0 |
| virtual QByteArray | valuePropertyName() const = 0 |
Description détaillée
Les objets `QItemEditorCreatorBase` sont des fabriques de widgets spécialisées qui fournissent des widgets d'édition pour un type de données ` QVariant ` particulier. Ils sont utilisés par ` QItemEditorFactory ` pour créer des éditeurs pour les ` QStyledItemDelegate`. Les bases de créateurs doivent être enregistrées auprès de ` QItemEditorFactory::registerEditor()` ().
Un éditeur doit fournir une propriété utilisateur pour les données qu'il édite. Les QItemDelegates peuvent alors accéder à cette propriété à l'aide du système de méta-objets de Qt pour définir et récupérer les données d'édition. Une propriété est définie comme propriété utilisateur à l'aide du mot-clé USER :
Q_PROPERTY(QColor color READ color WRITE setColor USER true)Si l’éditeur ne fournit pas de propriété utilisateur, il doit renvoyer le nom de la propriété via la fonction ` valuePropertyName()` ; les délégués utiliseront alors ce nom pour accéder à la propriété. Si une propriété utilisateur existe, les délégués d’élément n’appelleront pas la fonction ` valuePropertyName()`.
QStandardItemEditorCreator est une classe de modèle pratique qui permet d’enregistrer des widgets sans avoir à créer de sous-classe de `QItemEditorCreatorBase`.
Voir également QStandardItemEditorCreator, QItemEditorFactory et Programmation modèle/vue.
Documentation des fonctions membres
[virtual noexcept] QItemEditorCreatorBase::~QItemEditorCreatorBase()
Supprime l'objet créateur de l'éditeur.
[pure virtual] QWidget *QItemEditorCreatorBase::createWidget(QWidget *parent) const
Renvoie un widget d'édition avec l'parent spécifiée.
Lors de l'implémentation de cette fonction dans les sous-classes de cette classe, vous devez créer et renvoyer de nouveaux widgets d'édition en spécifiant le widget parent.
[pure virtual] QByteArray QItemEditorCreatorBase::valuePropertyName() const
Renvoie le nom de la propriété utilisée pour récupérer et définir des valeurs dans les widgets d'édition du créateur.
Lors de l'implémentation de cette fonction dans des sous-classes, vous devez vous assurer que la propriété du widget d'édition spécifiée par cette fonction peut accepter le type pour lequel le créateur est enregistré. Par exemple, un créateur qui construit des widgets ` QCheckBox ` pour éditer des valeurs booléennes renverrait le nom de propriété ` checkable ` à partir de cette fonction, et doit être enregistré dans l'usine d'éditeurs d'éléments pour le type ` QMetaType::Bool `.
Remarque : depuis Qt 4.2, les délégués d’éléments interrogent la propriété « user » des widgets et n’appellent cette fonction que si le widget ne dispose pas de propriété « user ». Vous pouvez redéfinir ce comportement en réimplémentant les fonctions QAbstractItemDelegate::setModelData() et QAbstractItemDelegate::setEditorData().
Voir également QMetaObject::userProperty() et QItemEditorFactory::registerEditor().
© 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.