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:
项目 –
QTreeWidgetItemcolumn – 整数
关闭给定
column中item的持久编辑器。如果没有为该项和列的组合打开持久编辑器,则此函数无效。
- collapseItem(item)¶
- Parameters:
项目 –
QTreeWidgetItem
关闭
item。这将导致包含该项子项的树被折叠。- columnCount()¶
- Return type:
整数
另请参阅
属性
columnCountᅟ的获取器。- currentColumn()¶
- Return type:
整数
返回树形部件中的当前列。
- currentItem()¶
- Return type:
返回树形小部件中的当前项。
- currentItemChanged(current, previous)¶
- Parameters:
current –
QTreeWidgetItemprevious –
QTreeWidgetItem
当当前项目发生变化时,会发出此信号。当前项目由
current指定,这将替换previous当前项目。另请参阅
- dropMimeData(parent, index, data, action)¶
- Parameters:
parent –
QTreeWidgetItemindex – 整数
data –
QMimeDataaction –
DropAction
- Return type:
布尔
处理由拖放操作提供的
data,该操作以给定的action在给定的parent项目中的index结束。默认实现返回
true,如果通过解码mime数据并将其插入模型成功处理了拖放操作;否则返回false。- editItem(item[, column=0])¶
- Parameters:
项目 –
QTreeWidgetItemcolumn – 整数
如果可编辑,则开始编辑给定
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:
项目 –
QTreeWidgetItemcolumn – 整数
- 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:
返回树形小部件的不可见根项。
不可见的根项目通过
QTreeWidgetItemAPI提供了对树形小部件顶层项目的访问,使得编写能够以统一方式处理顶层项目及其子项目的函数成为可能;例如,递归函数。- isPersistentEditorOpen(item[, column=0])¶
- Parameters:
项目 –
QTreeWidgetItemcolumn – 整数
- Return type:
布尔
返回是否在列
column中为项目item打开了持久编辑器。- itemAbove(item)¶
- Parameters:
项目 –
QTreeWidgetItem- Return type:
返回给定
item上方的项目。- itemActivated(item, column)¶
- Parameters:
项目 –
QTreeWidgetItemcolumn – 整数
当用户通过单击或双击(取决于平台,即
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:
项目 –
QTreeWidgetItemcolumn – 整数
当指定
item中的column内容发生变化时,会发出此信号。- itemClicked(item, column)¶
- Parameters:
项目 –
QTreeWidgetItemcolumn – 整数
当用户在小部件内点击时,会发出此信号。
指定的
item是被点击的项目。column是被点击的项目的列。如果没有项目被点击,则不会发出信号。- itemCollapsed(item)¶
- Parameters:
项目 –
QTreeWidgetItem
当指定的
item被折叠时,会发出此信号,以便不显示其任何子项。- itemDoubleClicked(item, column)¶
- Parameters:
项目 –
QTreeWidgetItemcolumn – 整数
当用户在小部件内双击时,会发出此信号。
指定的
item是被点击的项目,如果没有点击任何项目,则为None。column是被点击项目的列。如果没有双击任何项目,则不会发出信号。- itemEntered(item, column)¶
- Parameters:
项目 –
QTreeWidgetItemcolumn – 整数
当鼠标光标进入指定
column上的item时,会发出此信号。需要启用QTreeWidget的鼠标跟踪功能才能使此功能正常工作。- itemExpanded(item)¶
- Parameters:
项目 –
QTreeWidgetItem
当指定的
item被展开以显示其所有子项时,会发出此信号。- itemFromIndex(index)¶
- Parameters:
索引 –
QModelIndex- Return type:
返回一个指向与给定
index关联的QTreeWidgetItem的指针。另请参阅
- itemPressed(item, column)¶
- Parameters:
项目 –
QTreeWidgetItemcolumn – 整数
当用户在小部件内按下鼠标按钮时,会发出此信号。
指定的
item是被点击的项目,如果没有项目被点击,则为None。column是被点击项目的列,如果没有项目被点击,则为-1。- itemSelectionChanged()¶
当树形控件中的选择发生变化时,会发出此信号。可以使用
selectedItems()找到当前的选择。- itemWidget(item, column)¶
- Parameters:
项目 –
QTreeWidgetItemcolumn – 整数
- Return type:
返回在由
item指定的单元格和给定的column中显示的小部件。返回一个包含指定
items序列化描述的对象。用于描述项目的格式是从mimeTypes()函数中获取的。如果项目列表为空,则返回
None而不是序列化的空列表。- mimeTypes()¶
- Return type:
字符串列表
返回可用于描述树形小部件项目列表的MIME类型列表。
另请参阅
- openPersistentEditor(item[, column=0])¶
- Parameters:
项目 –
QTreeWidgetItemcolumn – 整数
在给定的
column中为item打开一个持久编辑器。- removeItemWidget(item, column)¶
- Parameters:
项目 –
QTreeWidgetItemcolumn – 整数
移除给定
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:
项目 –
QTreeWidgetItemcolumn – 整数
设置树形部件中的当前
item和当前列为column。另请参阅
- setCurrentItem(item, column, command)
- Parameters:
项目 –
QTreeWidgetItemcolumn – 整数
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:
项目 –
QTreeWidgetItemcolumn – 整数
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处的项目占据的矩形。另请参阅