class QTreeWidgetItem#

QTreeWidgetItem类提供了与QTreeWidget便利类一起使用的项目。 更多

概要#

方法#

虚函数#

注意

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

详细描述#

警告

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

树形小部件项用于存储树形小部件的行信息。行通常包含几列数据,每一列都可以包含文本标签和图标。

QTreeWidgetItem 类是一个便利类,用于替换 Qt 3 中的 QListViewItem 类。它提供了一个用于与 QTreeWidget 类一起使用的项。

项通常使用具有父项作为 QTreeWidget(用于顶层项)或 QTreeWidgetItem(用于树的下层项)的父项来构建。以下代码构建了一个顶层项来表示世界上的城市,并添加了奥斯陆作为子项的条目。

cities = QTreeWidgetItem(treeWidget)
cities.setText(0, tr("Cities"))
osloItem = QTreeWidgetItem(cities)
osloItem.setText(0, tr("Oslo"))
osloItem.setText(1, tr("Yes"))

项可以根据它们构建时指定的顺序添加

planets = QTreeWidgetItem(treeWidget, cities)
planets.setText(0, tr("Planets"))

项中的每一列都可以有自己的背景画刷,可以通过 setBackground() 函数设置。当前的背景画刷可以通过 background() 获得。每个列的文本标签可以使用自己的字体和画刷来渲染。这些通过 setFont()setForeground() 函数指定,并通过 font()foreground() 读取。

树中的顶级项目与下层项目的区别在于顶级项目没有parent() 方法。这个信息可以用来区分项目,并且在插入和删除树中的项目时非常有用。可以使用takeChild() 来删除一个项目的子项,并使用 insertChild() 函数将其插入到子项列表的指定索引位置。

默认情况下,项目是启用状态,可选择的,可复选的,并且可以作为拖放操作的源。可以通过调用 setFlags() 方法并传入适当的值(见 Qt::ItemFlags)来改变每个项目的标志。可以复选的项目可以使用 setCheckState() 函数进行勾选或取消勾选。相应的 checkState() 函数指示该项目是否当前被勾选。

子类化

当子类化QTreeWidgetItem 来提供自定义项目时,可以定义新类型以便与标准项目区分。需要这个功能的子类构造函数需要调用基类构造函数,并传入一个等于或大于 UserType 的新类型值。

class ItemType#

(inherits enum.IntEnum) 这个枚举用来描述用于描述树小部件项的类型。

常量

描述

QTreeWidgetItem.Type

树小部件项的默认类型。

QTreeWidgetItem.UserType

自定义类型的最低值。UserType 以下的值被 Qt 保留。

可以在 QTreeWidgetItem 子类中定义新用户类型,以确保自定义项目被特别处理;例如,在排序项目时。

另请参阅

type()

class ChildIndicatorPolicy#

常量

描述

QTreeWidgetItem.ShowIndicator

即使没有子节点,也会显示展开和折叠的控制。

QTreeWidgetItem.DontShowIndicator

即使有子节点,也永远不显示展开和折叠的控制。当节点被强制打开时,用户也无法展开或折叠项。

QTreeWidgetItem.DontShowIndicatorWhenChildless

如果项包含子节点,将显示展开和折叠的控制。

__init__(treeview, strings[, type=QTreeWidgetItem.ItemType.Type])#
参数:
  • treeviewQTreeWidget

  • strings – 字符串列表

  • type – int

构建指定 type 的树形小部件项并将其附加到给定 parent 中的项目。给定的字符串列表将设置为每个列的项文本。

另请参阅

type()

__init__(treeview, after[, type=QTreeWidgetItem.ItemType.Type])
参数:

构建指定 type 的树形小部件项并插入到给定的 parent 中,位于指定项之后。

另请参阅

type()

__init__([type=QTreeWidgetItem.ItemType.Type])
参数:

type – int

构建指定 type 的树形小部件项。项必须插入到树形小部件中。

另请参阅

type()

__init__(other)
参数:

otherQTreeWidgetItem

构建一个 other 的副本。注意,type()treeWidget() 并未复制。

此函数在重新实现 clone() 时很有用。

另请参阅

data() flags()

__init__(strings[, type=QTreeWidgetItem.ItemType.Type])
参数:
  • strings – 字符串列表

  • type – int

构造指定类型的树小部件项目。该项目必须插入到树小部件中。给定的字符串列表将设置为项目每列的项目文本。

另请参阅

type()

__init__(parent, strings[, type=QTreeWidgetItem.ItemType.Type])
参数:

构建树小部件并附加到给定的 parent。给定的字符串列表将设置为客户项目每列的项目文本。

另请参阅

type()

__init__(parent, after[, type=QTreeWidgetItem.ItemType.Type])
参数:

构造指定类型的树小部件,并将其插入到 parent 中指定在先前的子项之后。

另请参阅

type()

__init__(treeview[, type=QTreeWidgetItem.ItemType.Type])
参数:

构建指定类型的树小部件并将其附加到给定的 parent 的项目。

另请参阅

type()

__init__(parent[, type=QTreeWidgetItem.ItemType.Type])
参数:

构建树小部件并将其附加到给定的 parent

另请参阅

type()

addChild(child)#
参数:

childQTreeWidgetItem

child 项目追加到子列表中。

另请参阅

insertChild() takeChild()

addChildren(children)#
参数:

children – 穿QTreeWidgetItem列表

将给定的children列表附加到项目。

background(column)#
参数:

column – int

返回类型:

QBrush

返回用于渲染指定column的背景画笔。

checkState(column)#
参数:

column – int

返回类型:

CheckState

返回给定column中标签的复选状态。

另请参阅

setCheckState() CheckState

child(index)#
参数:

index – int

返回类型:

QTreeWidgetItem

返回位于项目子项列表中给定index处的项目。

另请参阅

parent()

childCount()#
返回类型:

int

返回子项的数量。

childIndicatorPolicy()#
返回类型:

ChildIndicatorPolicy

返回项目指示符策略。此策略决定何时显示树分支的展开/折叠指示器。

clone()#
返回类型:

QTreeWidgetItem

创建项目及其子项的深拷贝。

columnCount()#
返回类型:

int

返回项目中的列数。

data(column, role)#
参数:
  • column – int

  • role – int

返回类型:

object

返回项目columnrole的值。

另请参阅

setData()

emitDataChanged()#

导致与此项关联的模型对此项发出数据已更改的信号。

通常情况下,只有当您已扩展了QTreeWidgetItem并重新实现了data()和/或setData()方法时,才需要调用此函数。

另请参阅

setData()

flags()#
返回类型:

组合ItemFlag

返回用于描述项目的标志。这些决定项目是否可以被勾选、编辑和选中。

标志的默认值为Qt::ItemIsSelectable | Qt::ItemIsUserCheckable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled。

另请参阅

setFlags()

font(column)#
参数:

column – int

返回类型:

QFont

返回用于在指定中渲染文本的字体。

另请参阅

setFont()

foreground(column)#
参数:

column – int

返回类型:

QBrush

返回用于渲染指定前景(例如文本)的画刷。设置一个默认构造的画刷将让视图使用默认的颜色从样式。

icon(column)#
参数:

column – int

返回类型:

QIcon

返回在指定中显示的图标。

另请参阅

setIcon() iconSize

indexOfChild(child)#
参数:

childQTreeWidgetItem

返回类型:

int

返回给定child在项目子列表中的索引。

insertChild(index, child)#
参数:

在子列表中将child项目插入到index的位置。

如果子项已被插入其他位置,则不会再次插入。

insertChildren(index, children)#
参数:
  • index – int

  • children – 穿QTreeWidgetItem列表

将给定的 children 列表插入到项目的子项列表中,插入位置的索引为 index

已在其他位置插入的子项不会再次插入。

isDisabled()#
返回类型:

bool

如果项被禁用,则返回 true;否则返回 false

另请参阅

setFlags()

isExpanded()#
返回类型:

bool

如果项已展开,则返回 true,否则返回 false

另请参阅

setExpanded()

isFirstColumnSpanned()#
返回类型:

bool

如果项正在跨越行中的所有列,则返回 true;否则返回 false

isHidden()#
返回类型:

bool

如果项被隐藏,则返回 true;否则返回 false

另请参阅

setHidden()

isSelected()#
返回类型:

bool

如果项被选中,则返回 true;否则返回 false

另请参阅

setSelected()

__lt__(other)#
参数:

otherQTreeWidgetItem

返回类型:

bool

如果项中的文本小于 other 项中的文本,则返回 true;否则返回 false

parent()#
返回类型:

QTreeWidgetItem

返回项的父项。

另请参阅

child()

read(in)#
参数:

输入QDataStream

从流 in 中读取项。这只能将数据读入单个项。

另请参阅

write()

removeChild(child)#
参数:

childQTreeWidgetItem

删除由 child 指示的给定条目。将被删除的项目不会删除。

setBackground(column, brush)#
参数:
  • column – int

  • brushQBrush

将给定 column 标签的背景刷设置为指定的 brush。设置一个默认构造的刷会将视图的默认颜色从样式使用。

注意

如果 Qt Style Sheets 用于与 setBackground 相同的小部件,则如果有设置冲突,样式表将占优先权。

setCheckState(column, state)#
参数:

将给定 column 条目的检查状态设置为 state

另请参阅

checkState()

setChildIndicatorPolicy(policy)#
参数:

策略ChildIndicatorPolicy

设置项目指示器 策略。此策略决定了何时显示树分支展开/折叠指示器。默认值是 DontShowIndicatorWhenChildless

另请参阅

childIndicatorPolicy()

setData(column, role, value)#
参数:
  • column – int

  • role – int

  • – 对象

将项目 columnrole 的值设置为给定的 value

role 描述了通过 value 指定数据的类型,并由 Qt::ItemDataRole 枚举定义。

注意

默认实现将 Qt::EditRole 和 Qt::DisplayRole 视为引用相同的数据。

另请参阅

data()

setDisabled(disabled)#
参数:

禁用 – bool

如果 disabled 为真,则禁用条目;否则启用条目。

另请参阅

isDisabled() setFlags()

setExpanded(expand)#
参数:

expand – 布尔型

如果 expand 为真,则展开项目;否则折叠项目。

警告

在调用此函数之前,必须将 QTreeWidgetItem 添加到 QTreeWidget 中。

另请参阅

isExpanded()

setFirstColumnSpanned(span)#
参数:

span – 布尔型

如果 span 为真,将第一部分设置为占满所有列;否则,显示所有项目部分。

另请参阅

isFirstColumnSpanned()

setFlags(flags)#
参数:

flagsItemFlag 的组合

将项目的标志设置为给定的 flags。这些标志决定了项目是否可以选择或修改。这通常用于禁用项目。

另请参阅

flags()

setFont(column, font)#
参数:
  • column – int

  • fontQFont

将指定 column 中的文本所使用的字体设置为给定的 font

setForeground(column, brush)#
参数:
  • column – int

  • brushQBrush

将指定 column 中标签的前景色刷设置为指定的 brush

setHidden(隐藏)#
参数:

隐藏 – bool

如果 隐藏 为 true,则隐藏项目;否则显示项目。

注意

如果项目当前不在视图中,调用此函数不会有任何效果。特别是,如果只在一个项目上调用 setHidden(true) 并将其添加到视图中,结果将是可见的项目。

另请参阅

isHidden()

setIcon(, 图标)#
参数:
  • column – int

  • 图标QIcon

将给定 中要显示的图标设置为 图标

另请参阅

icon() setText() iconSize

setSelected(选择)#
参数:

选择 – bool

将项目的选择状态设置为 选择

另请参阅

isSelected()

setSizeHint(, 大小)#
参数:
  • column – int

  • 大小QSize

将给定 中树项目的尺寸提示设置为 大小。如果没有设置尺寸提示或 大小 无效,项目代理将根据项目数据计算尺寸提示。

另请参阅

sizeHint()

setStatusTip(, 状态提示)#
参数:
  • column – int

  • 状态提示 – str

将给定 的状态提示设置为给定的 状态提示。要使用此功能,需要启用 QTreeWidget 的鼠标跟踪功能。

setText(column, text)#
参数:
  • column – int

  • text – 字符串

将指定列要显示的文本设置为给定的text

setTextAlignment(column, alignment)#
参数:

将指定列的标签文本对齐设置为指定的alignment

setTextAlignment(column, alignment)
参数:
  • column – int

  • alignment – 整数

注意

此函数已弃用。

使用接受Qt::Alignment参数的重载。

将指定列的标签文本对齐设置为指定的alignment

另请参阅

textAlignment() Alignment

setTextAlignment(column, alignment)
参数:
setToolTip(column, toolTip)#
参数:
  • column – int

  • toolTip – 字符串

将指定列的工具提示设置为toolTip

setWhatsThis(column, whatsThis)#
参数:
  • column – int

  • whatsThis – 字符串

将指定 column 的“这是什么?”帮助信息设置为 whatsThis

sizeHint(column)#
参数:

column – int

返回类型:

QSize

返回给定 column 中树项的大小提示(见 QSize)。

另请参阅

setSizeHint()

sortChildren(column, order)#
参数:

使用给定的 ordercolumn 中的值对项的子项进行排序。

注意

如果项未与 QTreeWidget 关联,则此函数不执行任何操作。

statusTip(column)#
参数:

column – int

返回类型:

字符串

返回给定 column 的内容的状态提示。

另请参阅

setStatusTip()

takeChild(index)#
参数:

index – int

返回类型:

QTreeWidgetItem

移除 index 位置的项并返回它,否则返回 0。

takeChildren()#
返回类型:

. QTreeWidgetItem 列表

移除子项列表并返回它,否则返回空列表。

text(column)#
参数:

column – int

返回类型:

字符串

返回指定 column 的文本。

另请参阅

setText()

textAlignment(column)#
参数:

column – int

返回类型:

int

返回给定 column 标签的文本对齐方式。

注意

出于历史原因,此函数返回 int 类型。在 Qt 7 中,它将更正为返回 Qt::Alignment。

另请参阅

对齐方式

toolTip(column)#
参数:

column – int

返回类型:

字符串

返回给定 column 的工具提示。

另请参阅

setToolTip()

treeWidget()#
返回类型:

QTreeWidget

返回包含项的树控件。

type()#
返回类型:

int

返回传递给 QTreeWidgetItem 构造函数的类型。

whatsThis(column)#
参数:

column – int

返回类型:

字符串

返回给定 column 内容的“这是什么?”帮助。

另请参阅

setWhatsThis()

write(out)#
参数:

outQDataStream

将项写入到流 out。这仅写入单个项的数据。

另请参阅

read()