- class QTreeWidget#
类
QTreeWidget
提供了一个使用预定义树模型的树状视图。)更多...简述#
属性#
columnCount
- 在树控件中显示的列数topLevelItemCount
- 最顶层项目的数量
方法#
def
__init__
def
addTopLevelItem
def
addTopLevelItems
def
columnCount
def
currentColumn
def
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 –
QTreeWidgetItem
column – int
关闭给定列中
item
的持久编辑器。如果没有为这种项和列的组合打开持久编辑器,则此函数不会有任何效果。
- collapseItem(item)#
- 参数:
item –
QTreeWidgetItem
关闭
item
。这将导致包含该项子项的树折叠。- columnCount()#
- 返回类型:
int
另请参阅
属性 getter
columnCountᅟ
.- currentColumn()#
- 返回类型:
int
返回树控件中的当前列。
- currentItem()#
- 返回类型:
返回树部件中的当前项。
- currentItemChanged(current, previous)#
- 参数:
current –
QTreeWidgetItem
previous –
QTreeWidgetItem
当当前项发生变化时,会发出此信号。通过
current
指定当前项,并将其替换为之前的当前项previous
。另请参阅
- dropMimeData(parent, index, data, action)#
- 参数:
parent –
QTreeWidgetItem
index – int
data –
QMimeData
action –
DropAction
- 返回类型:
bool
处理由悬停和放置操作提供的
data
,该操作以给定的action
结束,放置在给定的parent
项的index
位置。默认实现如果悬停被成功处理,即通过解码 MIME 数据并将它插入到模型中,则返回
true
;否则返回false
。- editItem(item[, column=0])#
- 参数:
item –
QTreeWidgetItem
column – 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 –
QTreeWidgetItem
column – 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()#
- 返回类型:
返回树控件的不可见根项目。
不可见根项目通过
QTreeWidgetItem
API 访问树控件的顶层项目,使得能够以统一的方式编写函数来处理顶层项目和它们的子项目;例如,递归函数。- isPersistentEditorOpen(item[, column=0])#
- 参数:
item –
QTreeWidgetItem
column – int
- 返回类型:
bool
返回是否在列
column
对应的项item
上打开了持久编辑器。- itemAbove(item)#
- 参数:
item –
QTreeWidgetItem
- 返回类型:
返回给定
item
上方的项。- itemActivated(item, column)#
- 参数:
item –
QTreeWidgetItem
column – 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 –
QTreeWidgetItem
column – int
当指定的
item
中的column
内容发生变化时,会发出此信号。- itemClicked(item, column)#
- 参数:
item –
QTreeWidgetItem
column – int
当用户在部件内部单击时,会发出此信号。
指定的
item
是被点击的项。column
是被点击的项的列。如果没有点击项,则不会发出信号。- itemCollapsed(item)#
- 参数:
item –
QTreeWidgetItem
当指定的
item
展开因此其子项都不显示时,会发出此信号。- itemDoubleClicked(item, column)#
- 参数:
item –
QTreeWidgetItem
column – int
当用户在控件内双击时,会发出此信号。
指定的
item
是被点击的项目,如果没有点击任何项目则是None
。column
是被点击的项所在的列。如果没有双击任何项,则不会发出信号。- itemEntered(item, column)#
- 参数:
item –
QTreeWidgetItem
column – 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 –
QTreeWidgetItem
column – int
当用户在窗口内部按下鼠标按钮时,会发出该信号。
指定的
item
是被点击的项,如果没有点击项,则为None
。column
是被点击的项的列,如果没有点击项,则为 -1。- itemSelectionChanged()#
当树形窗口中的选择发生变化时,会发出该信号。当前选择可以通过
selectedItems()
函数找到。- itemWidget(item, column)#
- 参数:
item –
QTreeWidgetItem
column – int
- 返回类型:
返回由
item
和给定的column
指定的单元格中显示的窗口。另请参阅
返回一个包含指定
items
序列化描述的对象。描述项目时所使用的格式从mimeTypes()
函数中获取。如果项目列表为空,则返回
None
而不是序列化的空列表。- mimeTypes()#
- 返回类型:
字符串列表
返回可用于描述树形窗口项目列表的MIME类型列表。
另请参阅
- openPersistentEditor(item[, column=0])#
- 参数:
item –
QTreeWidgetItem
column – int
在给定的
column
中为item
打开一个持久编辑器。- removeItemWidget(item, column)#
- 参数:
item –
QTreeWidgetItem
column – int
移除在给定的
item
和给定的column
中设置的窗口。- scrollToItem(item[, hint=QAbstractItemView.ScrollHint.EnsureVisible])#
- 参数:
item –
QTreeWidgetItem
hint -
ScrollHint
确保
item
可见,如果需要,则使用指定的hint
滚动视图。- selectedItems()#
- 返回类型:
. QTreeWidgetItem 的列表
返回所有已选非隐藏项目的列表。
- setColumnCount(columns)#
- 参数:
columns - int
另请参阅
属性
columnCount
的设置器。- setCurrentItem(item)#
- 参数:
item –
QTreeWidgetItem
在树控件中设置当前
item
。除非选择模式为
NoSelection
,否则项目也会被选中。- setCurrentItem(item, column, command)
- 参数:
item –
QTreeWidgetItem
column – int
command -
SelectionFlag
组合
设置树控件中的当前
item
和当前列到column
,使用给定的command
。另请参阅
- setCurrentItem(item, column)
- 参数:
item –
QTreeWidgetItem
column – int
将树小部件中的当前
item
和当前列设置为column
。另请参阅
- setHeaderItem(item)#
- 参数:
item –
QTreeWidgetItem
为树小部件设置标题
item
。标题中每列的标签由该项中的相应标签提供。树小部件将拥有该项的所有权。
- setHeaderLabel(label)#
- 参数:
label - 字符串
与
setHeaderLabels
(QStringList(label
)))相同。-
setHeaderLabels
- 参数:
labels - 字符串列表
为labels
列表中的每个项在标题中添加列,并设置每列的标签。
请注意,setHeaderLabels()不会删除现有列。
- setItemWidgetitem(widget, column, widget)#
- 参数:
item –
QTreeWidgetItem
column – 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
位置的项目所占视口的矩形。
另请参阅