QItemEditorCreatorBase Class
La classe QItemEditorCreatorBase fournit une classe de base abstraite qui doit être sous-classée lors de l'implémentation de nouveaux créateurs d'éditeurs d'éléments. Plus d'informations...
| En-tête : | #include <QItemEditorCreatorBase> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Widgets)target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
| qmake : | QT += widgets |
| Héritée de : |
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 usines de widgets spécialisées qui fournissent des widgets d'éditeur pour un type de données particulier QVariant. Ils sont utilisés par pour créer des éditeurs pour s. Les bases de créateurs doivent être enregistrées auprès de (). Ils sont utilisés par QItemEditorFactory pour créer des éditeurs pour QStyledItemDelegates. 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 QItemDelagates peuvent alors accéder à la propriété en utilisant le 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 avec le 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é à partir de valuePropertyName() ; les délégués utiliseront alors le nom pour accéder à la propriété. Si une propriété utilisateur existe, les délégués de l'article n'appelleront pas valuePropertyName().
QStandardItemEditorCreator est une classe modèle de commodité qui peut être utilisée pour enregistrer des widgets sans avoir besoin de sous-classer QItemEditorCreatorBase.
Voir également QStandardItemEditorCreator, QItemEditorFactory, et Model/View Programming.
Documentation des fonctions membres
[virtual noexcept] QItemEditorCreatorBase::~QItemEditorCreatorBase()
Détruit l'objet créateur de l'éditeur.
[pure virtual] QWidget *QItemEditorCreatorBase::createWidget(QWidget *parent) const
Renvoie un widget d'éditeur avec l'adresse parent.
Lorsque vous implémentez cette fonction dans des sous-classes de cette classe, vous devez construire et renvoyer de nouveaux widgets d'éditeur avec le widget parent spécifié.
[pure virtual] QByteArray QItemEditorCreatorBase::valuePropertyName() const
Renvoie le nom de la propriété utilisée pour obtenir et définir des valeurs dans les widgets de l'éditeur du créateur.
Lorsque vous implémentez cette fonction dans des sous-classes, vous devez vous assurer que la propriété du widget de l'éditeur 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 renverra le nom de la propriété checkable à partir de cette fonction et devra être enregistré dans la fabrique d'éditeurs d'éléments pour le type QMetaType::Bool.
Remarque : depuis Qt Widgets 4.2, les délégués d'éléments interrogent la propriété utilisateur des widgets et n'appellent cette fonction que si le widget n'a pas de propriété utilisateur. Vous pouvez remplacer ce comportement en réimplémentant 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.