QItemEditorFactory Class▲
-
Header: QItemEditorFactory
-
CMake:
find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
-
qmake: QT += widgets
-
Group: QItemEditorFactory is part of model-view
Detailed Description▲
When editing data in an item view, editors are created and displayed by a delegate. QStyledItemDelegate, which is the delegate by default installed on Qt's item views, uses a QItemEditorFactory to create editors for it. A default unique instance provided by QItemEditorFactory is used by all item delegates. If you set a new default factory with setDefaultFactory(), the new factory will be used by existing and new delegates.
A factory keeps a collection of QItemEditorCreatorBase instances, which are specialized editors that produce editors for one particular QVariant data type (All Qt models store their data in QVariants).
Standard Editing Widgets▲
The standard factory implementation provides editors for a variety of data types. These are created whenever a delegate needs to provide an editor for data supplied by a model. The following table shows the relationship between types and the standard editors provided.
Type |
Editor Widget |
---|---|
bool |
|
double |
|
int |
|
unsigned int |
|
Additional editors can be registered with the registerEditor() function.
See Also▲
Member Function Documentation▲
QItemEditorFactory::QItemEditorFactory()▲
Constructs a new item editor factory.
[virtual] QItemEditorFactory::~QItemEditorFactory()▲
Destroys the item editor factory.
[virtual] QWidget *QItemEditorFactory::createEditor(int userType, QWidget *parent) const▲
Creates an editor widget with the given parent for the specified userType of data, and returns it as a QWidget.
See Also▲
See also registerEditor()
[static] const QItemEditorFactory *QItemEditorFactory::defaultFactory()▲
void QItemEditorFactory::registerEditor(int userType, QItemEditorCreatorBase *creator)▲
Registers an item editor creator specified by creator for the given userType of data.
Note: The factory takes ownership of the item editor creator and will destroy it if a new creator for the same type is registered later.
See Also▲
See also createEditor()
[static] void QItemEditorFactory::setDefaultFactory(QItemEditorFactory *factory)▲
Sets the default item editor factory to the given factory. Both new and existing delegates will use the new factory.
See Also▲
See also defaultFactory()
[virtual] QByteArray QItemEditorFactory::valuePropertyName(int userType) const▲
Returns the property name used to access data for the given userType of data.