QItemEditorCreatorBase 类
QItemEditorCreatorBase 类提供了一个抽象基类,当实现新的条目编辑器创建器时必须继承它。[更多...](#details)
头文件 | #include <QItemEditorCreatorBase> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake | QT += widgets |
继承自 |
公共函数
虚拟 | ~QItemEditorCreatorBase() |
虚拟 QWidget * | createWidget(QWidget *parent) const = 0 |
虚拟 QByteArray | valuePropertyName() const = 0 |
详细描述
QItemEditorCreatorBase 对象是专门的窗口小部件工厂,为特定类型的 QVariant 数据提供编辑器窗口小部件。它们由 QItemEditorFactory 使用以创建 QStyledItemDelegate 的编辑器。创建器基类必须与 QItemEditorFactory::registerEditor() 注册。
编辑器应提供被编辑数据的一个用户属性。QItemDelagates 可以使用 Qt 的 元对象系统 访问该属性来设置和检索编辑数据。属性设置为具有 USER 关键字的用户属性
Q_PROPERTY(QColor color READ color WRITE setColor USER true)
如果编辑器不提供用户属性,它必须从 valuePropertyName() 返回属性名称;代理将使用名称访问属性。如果存在用户属性,项目代理将不调用 valuePropertyName()。
QStandardItemEditorCreator 是一个方便的模板类,可用来注册小部件而无需继承 QItemEditorCreatorBase。
另请参阅QStandardItemEditorCreator、QItemEditorFactory 以及 模型/视图编程。
成员函数文档
[虚拟 noexcept]
QItemEditorCreatorBase::~QItemEditorCreatorBase()
销毁编辑器创建器对象。
[纯虚]
QWidget *QItemEditorCreatorBase::createWidget(QWidget *parent) const
返回一个具有给定 parent 的编辑器小部件。
在实现此函数的本类的子类中,你必须使用指定的父窗口小部件构造并返回新的编辑器小部件。
[纯虚函数]
QByteArray QItemEditorCreatorBase::valuePropertyName() const
返回用于在创建者的编辑小部件中获取和设置值的属性名称。
在子类中实现这个函数时,必须确保由这个函数指定的编辑小部件的属性可以接受创建者注册的类型。例如,用于修改布尔值的QCheckBox小部件的创建者会从这个函数返回可勾选属性的名称,并且必须在项目编辑器工厂中为QMetaType::Bool类型注册。
注意:从Qt 4.2开始,项目代理查询小部件的用户属性,并且只有在小部件没有用户属性时才会调用此函数。您可以通过重新实现QAbstractItemDelegate::setModelData()和QAbstractItemDelegate::setEditorData()来覆盖此行为。
另请参阅 QMetaObject::userProperty()和 QItemEditorFactory::registerEditor()。
© 2024 Qt公司,文档贡献归各自的版权所有者所有。本文档根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款授权。Qt 和相关标志为芬兰和/或全球其他国家的 Qt公司商标。所有其他商标均为其各自所有者的财产。