|  | Home · All Classes · Modules

# QItemEditorFactory Class Reference
[QtGui module]

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

### Methods

- __init__ (self)
- __init__ (self, QItemEditorFactory other)
- QWidget createEditor (self, QVariant.Type type, QWidget parent)
- registerEditor (self, QVariant.Type type, QItemEditorCreatorBase creator)
- QByteArray valuePropertyName (self, QVariant.Type type)

### Static Methods

- QItemEditorFactory defaultFactory ()
- setDefaultFactory (QItemEditorFactory factory)

## Detailed Description

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

When editing data in an item view, editors are created and displayed by a delegate. QItemDelegate, 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 | 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.

See also QItemDelegate, Model/View Programming, and Color Editor Factory Example.

## Method Documentation

### QItemEditorFactory.__init__ (self)

Constructs a new item editor factory.

### QItemEditorFactory.__init__ (self, QItemEditorFactory other)

### QWidget QItemEditorFactory.createEditor (self, QVariant.Type type, QWidget parent)

The parent argument, if not None, causes self to be owned by Qt instead of PyQt.

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

See also registerEditor().

### QItemEditorFactory QItemEditorFactory.defaultFactory ()

Returns the default item editor factory.

See also setDefaultFactory().

### QItemEditorFactory.registerEditor (self, QVariant.Type type, QItemEditorCreatorBase creator)

The creator argument has it's ownership transferred to Qt.

Registers an item editor creator specified by creator for the given type 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().

### QItemEditorFactory.setDefaultFactory (QItemEditorFactory factory)

The factory argument has it's ownership transferred to Qt.

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

See also defaultFactory().

### QByteArray QItemEditorFactory.valuePropertyName (self, QVariant.Type type)

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