QItemEditorFactory 类
QItemEditorFactory 类提供了用于在视图中编辑项目数据的控件。 更多...
头文件 | #include <QItemEditorFactory> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake | QT += widgets |
公共函数
QItemEditorFactory() | |
虚 | ~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) |
详细描述
当在项目视图中编辑数据时,委托创建了并显示编辑器。默认安装在 Qt 的项目视图上的 QStyledItemDelegate 使用 QItemEditorFactory 为其创建编辑器。默认的唯一实例由 QItemEditorFactory 提供,供所有项目委托使用。如果您使用 setDefaultFactory() 设置新的默认工厂,则新工厂将用于现有和新委托。
工厂保存了一个 QItemEditorCreatorBase 实例的集合,它们是针对特定 QVariant 数据类型(所有 Qt 模型将它们的数据存储在 QVariant 中)生产编辑器的专用编辑器。
标准编辑控件
标准的工厂实现为各种数据类型提供了编辑器。每当委托需要为由模型提供的数据提供编辑器时,就会创建这些编辑器。下面表显示了类型与提供的标准编辑器之间的关系。
类型 | 编辑器控件 |
---|---|
bool | QComboBox |
double | QDoubleSpinBox |
int | QSpinBox |
unsigned int | |
QDate | QDateEdit |
QDateTime | QDateTimeEdit |
QPixmap | QLabel |
QString | QLineEdit |
QTime | QTimeEdit |
可以使用 registerEditor() 函数注册其他编辑器。
另请参阅 QStyledItemDelegate 和 模型/视图编程。
成员函数文档
QItemEditorFactory::QItemEditorFactory()
构建一个新的项编辑器工厂。
[虚拟 noexcept]
QItemEditorFactory::~QItemEditorFactory()
销毁项编辑器工厂。
[虚拟]
QWidget *QItemEditorFactory::createEditor(int userType, QWidget *parent) const
根据指定的数据类型 userType 创建一个具有给定 parent 的编辑器小部件,并将其作为 QWidget 返回。
另请参阅registerEditor().
[静态]
const QItemEditorFactory *QItemEditorFactory::defaultFactory()
返回默认项编辑器工厂。
另请参阅setDefaultFactory().
void QItemEditorFactory::registerEditor(int userType, QItemEditorCreatorBase *creator)
为给定数据类型 userType 注册指定 creator 的项编辑器生成器。
注意:工厂将拥有项编辑器生成器,如果稍后注册了同一类型的新的生成器,则将销毁它。
另请参阅createEditor().
[静态]
void QItemEditorFactory::setDefaultFactory(QItemEditorFactory *factory)
将默认项编辑器工厂设置为给定的 factory。新和现有的代理都将使用新工厂。
另请参阅defaultFactory().
[虚拟]
QByteArray QItemEditorFactory::valuePropertyName(int userType) const
返回访问给定数据类型 userType 的数据所使用的属性名称。
© 2024 The Qt Company Ltd. 常见的文档贡献为各自所有者的版权。在此提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款授予的。Qt 和相应的标志是 The Qt Company Ltd. 在芬兰以及/或其他国家的商标。所有其他商标均为各自所有者的财产。