QItemEditorCreator Class

template <typename T> class QItemEditorCreator

The QItemEditorCreator class makes it possible to create item editor creator bases without subclassing QItemEditorCreatorBase. More...

Header: #include <QItemEditorCreator>
qmake: QT += widgets
Since: Qt 4.2
Inherits: QItemEditorCreatorBase

This class was introduced in Qt 4.2.

Public Functions

QItemEditorCreator(const QByteArray &valuePropertyName)

Reimplemented Public Functions

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

Detailed Description

QItemEditorCreator is a convenience template class. It uses the template class to create editors for QItemEditorFactory. This way, it is not necessary to subclass QItemEditorCreatorBase.

 QItemEditorCreator<MyEditor> *itemCreator =
     new QItemEditorCreator<MyEditor>("myProperty");

 QItemEditorFactory *factory = new QItemEditorFactory;

The constructor takes the name of the property that contains the editing data. QStyledItemDelegate can then access the property by name when it sets and retrieves editing data. Only use this class if your editor does not define a user property (using the USER keyword in the Q_PROPERTY macro). If the widget has a user property, you should use QStandardItemEditorCreator instead.

See also QItemEditorCreatorBase, QStandardItemEditorCreator, QItemEditorFactory, and Color Editor Factory Example.

Member Function Documentation

QItemEditorCreator::QItemEditorCreator(const QByteArray &valuePropertyName)

Constructs an editor creator object using valuePropertyName as the name of the property to be used for editing. The property name is used by QStyledItemDelegate when setting and getting editor data.

Note that the valuePropertyName is only used if the editor widget does not have a user property defined.

[override virtual] QWidget *QItemEditorCreator::createWidget(QWidget *parent) const

Reimplements: QItemEditorCreatorBase::createWidget(QWidget *parent) const.

[override virtual] QByteArray QItemEditorCreator::valuePropertyName() const

Reimplements: QItemEditorCreatorBase::valuePropertyName() const.