QStandardItemEditorCreator Class

template <typename T> class QStandardItemEditorCreator

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

Public Functions

QStandardItemEditorCreator()

Reimplemented Public Functions

virtual QWidget * createWidget(QWidget *parent) const override
virtual QByteArray valuePropertyName() const override

Detailed Description

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.

Member Function Documentation

QStandardItemEditorCreator::QStandardItemEditorCreator()

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.0/qstandarditemeditorcreator.html