QItemEditorFactory 类为在视图和委托中编辑项数据提供 Widget。 更多...
头: | #include <QItemEditorFactory> |
CMake: |
find_package(Qt6 COMPONENTS Widgets REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
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 ) |
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).
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 () 函数。
另请参阅 QStyledItemDelegate , 模型/视图编程 ,和 色彩编辑器工厂范例 .
构造新的项编辑器工厂。
[virtual]
QItemEditorFactory::
~QItemEditorFactory
()
销毁项编辑器工厂。
[virtual]
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 ().
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 ().
[virtual]
QByteArray
QItemEditorFactory::
valuePropertyName
(
int
userType
) const
Returns the property name used to access data for the given userType of data.