PySide6.QtWidgets.QTreeWidget¶
- class QTreeWidget¶
QTreeWidget
类提供了一个使用预定义树模型的树视图。更多…概要¶
属性¶
columnCountᅟ
- 树形小部件中显示的列数topLevelItemCountᅟ
- 顶级项目的数量
方法¶
def
__init__()
def
columnCount()
def
currentColumn()
def
currentItem()
def
editItem()
def
findItems()
def
headerItem()
def
indexFromItem()
def
itemAbove()
def
itemAt()
def
itemBelow()
def
itemFromIndex()
def
itemWidget()
def
selectedItems()
def
setColumnCount()
def
setCurrentItem()
def
setHeaderItem()
def
setHeaderLabel()
def
setItemWidget()
def
sortColumn()
def
sortItems()
def
topLevelItem()
def
visualItemRect()
虚拟方法¶
def
dropMimeData()
def
mimeData()
def
mimeTypes()
插槽¶
def
clear()
def
collapseItem()
def
expandItem()
def
scrollToItem()
信号¶
def
itemActivated()
def
itemChanged()
def
itemClicked()
def
itemCollapsed()
def
itemEntered()
def
itemExpanded()
def
itemPressed()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
QTreeWidget
类是一个便利类,提供了一个标准的树形小部件,具有类似于 Qt 3 中QListView
类使用的经典基于项目的界面。该类基于 Qt 的模型/视图架构,并使用默认模型来保存项目,每个项目都是一个QTreeWidgetItem
。不需要Model/View框架灵活性的开发者可以非常容易地使用这个类来创建简单的分层列表。更灵活的方法是将
QTreeView
与标准项目模型结合使用。这允许将数据的存储与其表示分开。在最简单的形式中,树形小部件可以通过以下方式构建:
treeWidget = QTreeWidget() treeWidget.setColumnCount(1) *> = QList<QTreeWidgetItem() for i in range(0, 10): items.append(QTreeWidgetItem(QTreeWidget(None), QStringList(QString("item: %1").arg(i)))) treeWidget.insertTopLevelItems(0, items)
在将项目添加到树形小部件之前,必须使用
setColumnCount()
设置列数。这允许每个项目拥有一个或多个标签或其他装饰。可以通过columnCount()
函数找到正在使用的列数。树可以有一个标题,其中包含小部件中每一列的部分。通过提供字符串列表使用
setHeaderLabels()
来设置每个部分的标签是最简单的,但也可以使用QTreeWidgetItem
构建自定义标题,并使用setHeaderItem()
函数将其插入到树中。树中的项目可以根据预定义的排序顺序按列排序。如果启用了排序,用户可以通过点击列标题来对项目进行排序。可以通过调用
setSortingEnabled()
来启用或禁用排序。isSortingEnabled()
函数指示是否启用了排序。注意
当使用
from __feature__ import true_property
时,属性可以直接使用,否则通过访问器函数使用。- property columnCountᅟ: int¶
此属性保存树形部件中显示的列数。
默认情况下,此属性的值为1。
- Access functions:
- property topLevelItemCountᅟ: int¶
此属性保存顶级项目的数量。
默认情况下,此属性的值为0。
- Access functions:
使用给定的
parent
构建一个树形小部件。- addTopLevelItem(item)¶
- Parameters:
项目 –
QTreeWidgetItem
将
item
作为顶级项添加到小部件中。另请参阅
- addTopLevelItems(items)¶
- Parameters:
items – QTreeWidgetItem 的列表
将
items
列表作为小部件的顶级项目追加。- clear()¶
通过移除所有项目和选择来清除树形小部件。
注意
由于每个项目在删除之前都会从树形小部件中移除,因此在项目的析构函数中调用
treeWidget()
的返回值将是无效的。- closePersistentEditor(item[, column=0])¶
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
关闭给定
column
中item
的持久编辑器。如果没有为该项和列的组合打开持久编辑器,则此函数无效。
- collapseItem(item)¶
- Parameters:
项目 –
QTreeWidgetItem
关闭
item
。这将导致包含该项子项的树被折叠。- columnCount()¶
- Return type:
整数
另请参阅
属性
columnCountᅟ
的获取器。- currentColumn()¶
- Return type:
整数
返回树形部件中的当前列。
- currentItem()¶
- Return type:
返回树形小部件中的当前项。
- currentItemChanged(current, previous)¶
- Parameters:
current –
QTreeWidgetItem
previous –
QTreeWidgetItem
当当前项目发生变化时,会发出此信号。当前项目由
current
指定,这将替换previous
当前项目。另请参阅
- dropMimeData(parent, index, data, action)¶
- Parameters:
parent –
QTreeWidgetItem
index – 整数
data –
QMimeData
action –
DropAction
- Return type:
布尔
处理由拖放操作提供的
data
,该操作以给定的action
在给定的parent
项目中的index
结束。默认实现返回
true
,如果通过解码mime数据并将其插入模型成功处理了拖放操作;否则返回false
。- editItem(item[, column=0])¶
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
如果可编辑,则开始编辑给定
column
中的item
。- expandItem(item)¶
- Parameters:
项目 –
QTreeWidgetItem
展开
item
。这将导致包含项目子项的树被展开。- findItems(text, flags[, column=0])¶
- Parameters:
文本 – str
flags –
MatchFlag
的组合column – 整数
- Return type:
返回与给定
text
匹配的项目列表,使用给定的flags
,在给定的column
中。- headerItem()¶
- Return type:
返回用于树形小部件标题的项目。
另请参阅
- indexFromItem(item[, column=0])¶
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
- Return type:
返回与给定
item
在给定column
中关联的QModelIndex。- indexOfTopLevelItem(item)¶
- Parameters:
项目 –
QTreeWidgetItem
- Return type:
整数
返回给定顶层
item
的索引,如果找不到该项目则返回-1。- insertTopLevelItem(index, item)¶
- Parameters:
index – 整数
项目 –
QTreeWidgetItem
在视图的顶层
index
处插入item
。如果项目已经插入到其他地方,则不会再次插入。
- insertTopLevelItems(index, items)¶
- Parameters:
index – 整数
items – QTreeWidgetItem 的列表
在视图的顶层
index
处插入items
列表。已经插入到其他地方的项目将不会被插入。
另请参阅
- invisibleRootItem()¶
- Return type:
返回树形小部件的不可见根项。
不可见的根项目通过
QTreeWidgetItem
API提供了对树形小部件顶层项目的访问,使得编写能够以统一方式处理顶层项目及其子项目的函数成为可能;例如,递归函数。- isPersistentEditorOpen(item[, column=0])¶
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
- Return type:
布尔
返回是否在列
column
中为项目item
打开了持久编辑器。- itemAbove(item)¶
- Parameters:
项目 –
QTreeWidgetItem
- Return type:
返回给定
item
上方的项目。- itemActivated(item, column)¶
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
当用户通过单击或双击(取决于平台,即
SH_ItemView_ActivateItemOnSingleClick
样式提示)或按下特殊键(例如,Enter)激活项目时,会发出此信号。指定的
item
是被点击的项目,如果没有项目被点击,则为None
。column
是被点击项目的列,如果没有项目被点击,则为-1。返回指向坐标
p
处项目的指针。坐标相对于树小部件的viewport()
。另请参阅
- itemAt(x, y)
- Parameters:
x – 整数
y – 整数
- Return type:
这是一个重载函数。
返回指向坐标(
x
,y
)处项目的指针。坐标相对于树小部件的viewport()
。- itemBelow(item)¶
- Parameters:
项目 –
QTreeWidgetItem
- Return type:
返回在视觉上位于给定
item
下方的项目。- itemChanged(item, column)¶
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
当指定
item
中的column
内容发生变化时,会发出此信号。- itemClicked(item, column)¶
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
当用户在小部件内点击时,会发出此信号。
指定的
item
是被点击的项目。column
是被点击的项目的列。如果没有项目被点击,则不会发出信号。- itemCollapsed(item)¶
- Parameters:
项目 –
QTreeWidgetItem
当指定的
item
被折叠时,会发出此信号,以便不显示其任何子项。- itemDoubleClicked(item, column)¶
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
当用户在小部件内双击时,会发出此信号。
指定的
item
是被点击的项目,如果没有点击任何项目,则为None
。column
是被点击项目的列。如果没有双击任何项目,则不会发出信号。- itemEntered(item, column)¶
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
当鼠标光标进入指定
column
上的item
时,会发出此信号。需要启用QTreeWidget
的鼠标跟踪功能才能使此功能正常工作。- itemExpanded(item)¶
- Parameters:
项目 –
QTreeWidgetItem
当指定的
item
被展开以显示其所有子项时,会发出此信号。- itemFromIndex(index)¶
- Parameters:
索引 –
QModelIndex
- Return type:
返回一个指向与给定
index
关联的QTreeWidgetItem
的指针。另请参阅
- itemPressed(item, column)¶
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
当用户在小部件内按下鼠标按钮时,会发出此信号。
指定的
item
是被点击的项目,如果没有项目被点击,则为None
。column
是被点击项目的列,如果没有项目被点击,则为-1。- itemSelectionChanged()¶
当树形控件中的选择发生变化时,会发出此信号。可以使用
selectedItems()
找到当前的选择。- itemWidget(item, column)¶
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
- Return type:
返回在由
item
指定的单元格和给定的column
中显示的小部件。返回一个包含指定
items
序列化描述的对象。用于描述项目的格式是从mimeTypes()
函数中获取的。如果项目列表为空,则返回
None
而不是序列化的空列表。- mimeTypes()¶
- Return type:
字符串列表
返回可用于描述树形小部件项目列表的MIME类型列表。
另请参阅
- openPersistentEditor(item[, column=0])¶
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
在给定的
column
中为item
打开一个持久编辑器。- removeItemWidget(item, column)¶
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
移除给定
item
中给定column
中设置的小部件。- scrollToItem(item[, hint=QAbstractItemView.ScrollHint.EnsureVisible])¶
- Parameters:
项目 –
QTreeWidgetItem
提示 –
ScrollHint
确保
item
可见,必要时使用指定的hint
滚动视图。- selectedItems()¶
- Return type:
返回所有选中的非隐藏项的列表。
- setColumnCount(columns)¶
- Parameters:
columns – int
另请参阅
属性
columnCountᅟ
的设置器。- setCurrentItem(item)¶
- Parameters:
项目 –
QTreeWidgetItem
设置树形部件中的当前
item
。除非选择模式是
NoSelection
,否则该项目也会被选中。- setCurrentItem(item, column)
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
设置树形部件中的当前
item
和当前列为column
。另请参阅
- setCurrentItem(item, column, command)
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
command –
SelectionFlag
的组合
使用给定的
command
,将树形部件中的当前item
和当前列设置为column
。另请参阅
- setHeaderItem(item)¶
- Parameters:
项目 –
QTreeWidgetItem
设置树形小部件的标题
item
。标题中每列的标签由项目中的相应标签提供。树形小部件接管了项目的所有权。
- setHeaderLabel(label)¶
- Parameters:
标签 – str
与
setHeaderLabels
(QStringList(label
)) 相同。- setHeaderLabels(labels)¶
- Parameters:
labels – 字符串列表
在标题中为
labels
列表中的每个项目添加一列,并为每列设置标签。请注意,setHeaderLabels() 不会移除现有的列。
- setItemWidget(item, column, widget)¶
- Parameters:
项目 –
QTreeWidgetItem
column – 整数
widget –
QWidget
将给定的
widget
设置为在由给定的item
和column
指定的单元格中显示。给定的
widget
的autoFillBackground
属性必须设置为true,否则小部件的背景将是透明的,显示模型数据和树形小部件项。此函数应仅用于在树形部件项的位置显示静态内容。如果您想显示自定义动态内容或实现自定义编辑器部件,请使用
QTreeView
并子类化QStyledItemDelegate
。在项目层次结构设置之前,不能调用此函数,即,在设置
widget
之前,必须将包含widget
的QTreeWidgetItem
添加到视图中。- sortColumn()¶
- Return type:
整数
返回用于对小部件内容进行排序的列。
另请参阅
按指定
order
中的值对部件中的项目进行排序,依据给定的column
。另请参阅
- supportedDropActions()¶
- Return type:
DropAction
的组合
返回此视图支持的拖放操作。
另请参阅
DropActions
- takeTopLevelItem(index)¶
- Parameters:
索引 – int
- Return type:
移除树中给定
index
处的顶层项目并返回它,否则返回None
;- topLevelItem(index)¶
- Parameters:
索引 – int
- Return type:
返回给定
index
处的顶层项目,如果项目不存在则返回None
。- topLevelItemCount()¶
- Return type:
整数
属性
topLevelItemCountᅟ
的获取器。- visualItemRect(item)¶
- Parameters:
项目 –
QTreeWidgetItem
- Return type:
返回视口中由
item
处的项目占据的矩形。另请参阅