QItemEditorFactory#

The QItemEditorFactory class provides widgets for editing item data in views and delegates. More

Inheritance diagram of PySide6.QtWidgets.QItemEditorFactory

Synopsis#

Functions#

Virtual functions#

Static functions#

Note

This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE

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 QVariant s).

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

QComboBox

double

QDoubleSpinBox

int

QSpinBox

unsigned int

QDate

QDateEdit

QDateTime

QDateTimeEdit

QPixmap

QLabel

QString

QLineEdit

QTime

QTimeEdit

Additional editors can be registered with the registerEditor() function.

class PySide6.QtWidgets.QItemEditorFactory#

Constructs a new item editor factory.

PySide6.QtWidgets.QItemEditorFactory.createEditor(userType, parent)#
Parameters:
Return type:

PySide6.QtWidgets.QWidget

Creates an editor widget with the given parent for the specified userType of data, and returns it as a QWidget .

See also

registerEditor()

static PySide6.QtWidgets.QItemEditorFactory.defaultFactory()#
Return type:

PySide6.QtWidgets.QItemEditorFactory

Returns the default item editor factory.

PySide6.QtWidgets.QItemEditorFactory.registerEditor(userType, creator)#
Parameters:

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

createEditor()

static PySide6.QtWidgets.QItemEditorFactory.setDefaultFactory(factory)#
Parameters:

factoryPySide6.QtWidgets.QItemEditorFactory

Sets the default item editor factory to the given factory. Both new and existing delegates will use the new factory.

See also

defaultFactory()

PySide6.QtWidgets.QItemEditorFactory.valuePropertyName(userType)#
Parameters:

userType – int

Return type:

PySide6.QtCore.QByteArray

Returns the property name used to access data for the given userType of data.