QItemEditorFactory 類

The QItemEditorFactory 類為在視圖和委托中編輯項數據提供 Widget。 更多...

頭: #include <QItemEditorFactory>
qmake: QT += widgets
Since: Qt 4.2

公共函數

QItemEditorFactory ()
virtual ~QItemEditorFactory ()
virtual QWidget * createEditor (int userType , QWidget * parent ) const
void registerEditor (int userType , QItemEditorCreatorBase * creator )
virtual QByteArray valuePropertyName (int userType ) const

靜態公共成員

const QItemEditorFactory * defaultFactory ()
void setDefaultFactory (QItemEditorFactory * factory )

詳細描述

The QItemEditorFactory 類為在視圖和委托中編輯項數據提供 Widget。

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

標準編輯 Widget

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.

類型 編輯器 Widget
bool QComboBox
double QDoubleSpinBox
int QSpinBox
無符號 int
QDate QDateEdit
QDateTime QDateTimeEdit
QPixmap QLabel
QString QLineEdit
QTime QTimeEdit

Additional editors can be registered with the registerEditor () 函數。

另請參閱 QItemDelegate , 模型/視圖編程 ,和 色彩編輯器工廠範例 .

成員函數文檔編製

QItemEditorFactory:: QItemEditorFactory ()

構造新的項編輯器工廠。

[虛擬] QItemEditorFactory:: ~QItemEditorFactory ()

銷毀項編輯器工廠。

[虛擬] QWidget *QItemEditorFactory:: createEditor ( int userType , QWidget * parent ) const

Creates an editor widget with the given parent 為指定 userType of data, and returns it as a QWidget .

另請參閱 registerEditor ().

[static] const QItemEditorFactory *QItemEditorFactory:: defaultFactory ()

Returns the default item editor factory.

另請參閱 setDefaultFactory ().

void QItemEditorFactory:: registerEditor ( int userType , QItemEditorCreatorBase * creator )

Registers an item editor creator specified by creator 為給定 userType of data.

注意: The factory takes ownership of the item editor creator and will destroy it if a new creator for the same type is registered later.

另請參閱 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.

另請參閱 defaultFactory ().

[虛擬] QByteArray QItemEditorFactory:: valuePropertyName ( int userType ) const

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