PySide6.QtWidgets.QItemEditorCreatorBase

class QItemEditorCreatorBase

QItemEditorCreatorBase 类提供了一个抽象基类,在实现新的项目编辑器创建器时必须继承该类。更多

概要

虚拟方法

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

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

编辑器应为其编辑的数据提供一个用户属性。QItemDelegates 然后可以使用 Qt 的元对象系统访问该属性,以设置和检索编辑数据。使用 USER 关键字将属性设置为用户属性:

Q_PROPERTY(QColor color READ color WRITE setColor USER True)

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

QStandardItemEditorCreator 是一个方便的模板类,可用于注册小部件,而无需子类化 QItemEditorCreatorBase

另请参阅

QStandardItemEditorCreator QItemEditorFactory 模型/视图编程

abstract createWidget(parent)
Parameters:

父级QWidget

Return type:

QWidget

返回一个带有给定parent的编辑器小部件。

在实现此类的子类中的此函数时,您必须构造并返回具有指定父部件的新编辑器部件。

abstract valuePropertyName()
Return type:

QByteArray

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

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

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

另请参阅

registerEditor()