class QItemEditorCreatorBase#

提供必须被子类化以实现新项编辑器创建器的抽象基类 QItemEditorCreatorBase 类。 更多...

概要

虚方法

注意

此文档可能包含从C++自动转换为Python的代码片段。我们总是欢迎对片段翻译的贡献。如果您发现翻译存在问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE 上创建票据来通知我们。

详细描述

警告

此部分包含从C++自动转换为Python的代码片段,可能包含错误。

QItemEditorCreatorBase 对象是专门的窗口部件工厂,为特定的 QVariant 数据类型提供编辑器窗口部件。它们被 QItemEditorFactory 用于为 QStyledItemDelegate 创建编辑器。创建器基类必须通过 registerEditor() 方法进行注册。

编辑器应该提供用于编辑数据的用户属性。然后 QItemDelagates 可以使用 Qt 的元对象系统来设置和获取编辑数据。用户属性使用 USER 关键字设置。

Q_PROPERTY(QColor color READ color WRITE setColor USER True)

如果编辑器没有提供用户属性,它必须从 valuePropertyName() 返回属性的名称;然后代理将使用该名称来访问属性。如果存在用户属性,项目代理将不会调用 valuePropertyName()。

QStandardItemEditorCreator 是一个便捷的模板类,可以用于注册窗口部件,无需从 QItemEditorCreatorBase 子类化。

另请参阅

QStandardItemEditorCreator QItemEditorFactory 模型/视图编程 颜色编辑器工厂示例

抽象 createWidget(parent)#
参数:

parent - QWidget

返回类型:

QWidget

返回一个具有给定 parent 的编辑器窗口部件。

在实现此类的子类的函数时,必须使用指定的父窗口部件构造并返回新的编辑器窗口部件。

抽象 valuePropertyName()#
返回类型:

QByteArray

返回用于在创建器的编辑器窗口部件中获取和设置值的属性的名称。

在子类中实现此函数时,您必须确保编辑器小部件的属性可以接受该函数指定的创建者所注册的类型。例如,一个构建用于编辑布尔值的 QCheckBox 小部件的创建者将从该函数返回 checkable 属性名称,并且必须在 QMetaType::Bool 类型的项目编辑器工厂中进行注册。

注意:自 Qt 4.2 以来,项目代理会查询小部件的用户属性,并且只有在没有用户属性的小部件上才会调用此函数。您可以通过重新实现 setModelData()setEditorData() 来覆盖此行为。

另请参阅

registerEditor()