PySide6.QtWidgets.QItemEditorFactory

class QItemEditorFactory

QItemEditorFactory 类提供了用于在视图和委托中编辑项目数据的小部件。更多

概要

方法

虚拟方法

静态函数

注意

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

详细描述

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

一个工厂保存了一系列的QItemEditorCreatorBase实例,这些是专门为一种特定的QVariant数据类型生成编辑器的编辑器(所有Qt模型都将它们的数据存储在QVariants中)。

标准编辑小部件

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

类型

编辑器小部件

布尔值

QComboBox

双精度

QDoubleSpinBox

int

QSpinBox

无符号整数

QDate

QDateEdit

QDateTime

QDateTimeEdit

QPixmap

QLabel

QString

QLineEdit

时间

QTimeEdit

可以使用registerEditor()函数注册其他编辑器。

__init__()

构建一个新的项目编辑器工厂。

createEditor(userType, parent)
Parameters:
  • userType – int

  • parentQWidget

Return type:

QWidget

创建一个带有给定parent的编辑器小部件,用于指定userType的数据,并将其作为QWidget返回。

另请参阅

registerEditor()

static defaultFactory()
Return type:

QItemEditorFactory

返回默认的项目编辑器工厂。

另请参阅

setDefaultFactory()

registerEditor(userType, creator)
Parameters:

为给定的userType数据类型注册由creator指定的项目编辑器创建器。

注意

工厂拥有项目编辑器创建者的所有权,如果稍后注册了相同类型的新创建者,工厂将销毁它。

另请参阅

createEditor()

static setDefaultFactory(factory)
Parameters:

工厂QItemEditorFactory

将默认项目编辑器工厂设置为给定的factory。新的和现有的委托都将使用新的工厂。

另请参阅

defaultFactory()

valuePropertyName(userType)
Parameters:

userType – int

Return type:

QByteArray

返回用于访问给定userType数据的属性名称。