QItemEditorFactory 类

QItemEditorFactory 类提供了用于在视图中编辑项目数据的控件。 更多...

头文件 #include <QItemEditorFactory>
CMakefind_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmakeQT += widgets

公共函数

QItemEditorFactory()
~QItemEditorFactory()
virtual QWidget *createEditor(int userType, QWidget *parent) const
voidregisterEditor(int userType, QItemEditorCreatorBase *creator)
virtual QByteArrayvaluePropertyName(int userType) const

静态公共成员

const QItemEditorFactory *defaultFactory()
voidsetDefaultFactory(QItemEditorFactory *factory)

详细描述

当在项目视图中编辑数据时,委托创建了并显示编辑器。默认安装在 Qt 的项目视图上的 QStyledItemDelegate 使用 QItemEditorFactory 为其创建编辑器。默认的唯一实例由 QItemEditorFactory 提供,供所有项目委托使用。如果您使用 setDefaultFactory() 设置新的默认工厂,则新工厂将用于现有和新委托。

工厂保存了一个 QItemEditorCreatorBase 实例的集合,它们是针对特定 QVariant 数据类型(所有 Qt 模型将它们的数据存储在 QVariant 中)生产编辑器的专用编辑器。

标准编辑控件

标准的工厂实现为各种数据类型提供了编辑器。每当委托需要为由模型提供的数据提供编辑器时,就会创建这些编辑器。下面表显示了类型与提供的标准编辑器之间的关系。

可以使用 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. 在芬兰以及/或其他国家的商标。所有其他商标均为各自所有者的财产。