The QStandardItemEditorCreator class provides the possibility to register widgets without having to subclass QItemEditorCreatorBase. More...
Header: | #include <QStandardItemEditorCreator> |
CMake: | find_package(Qt6 COMPONENTS Widgets REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Inherits: | QItemEditorCreatorBase |
QStandardItemEditorCreator() |
virtual QWidget * | createWidget(QWidget *parent) const override |
virtual QByteArray | valuePropertyName() const override |
This convenience template class makes it possible to register widgets without having to subclass QItemEditorCreatorBase.
Example:
QItemEditorFactory *editorFactory = new QItemEditorFactory; QItemEditorCreatorBase *creator = new QStandardItemEditorCreator<MyFancyDateTimeEdit>(); editorFactory->registerEditor(QMetaType::QDateTime, creator);
Setting the editorFactory
created above in an item delegate via QStyledItemDelegate::setItemEditorFactory() makes sure that all values of type QMetaType::QDateTime will be edited in MyFancyDateTimeEdit
.
The editor must provide a user property that will contain the editing data. The property is used by QStyledItemDelegates to set and retrieve the data (using Qt's meta-object system). You set the user property with the USER keyword:
Q_PROPERTY(QColor color READ color WRITE setColor USER true)
See also QItemEditorCreatorBase, QItemEditorCreator, QItemEditorFactory, QStyledItemDelegate, and Color Editor Factory Example.
Constructs an editor creator object.
[override virtual]
QWidget *QStandardItemEditorCreator::createWidget(QWidget *parent) const
Reimplements: QItemEditorCreatorBase::createWidget(QWidget *parent) const.
[override virtual]
QByteArray QStandardItemEditorCreator::valuePropertyName() const
Reimplements: QItemEditorCreatorBase::valuePropertyName() const.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qstandarditemeditorcreator.html