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