PySide6.QtWidgets.QListWidget¶
- class QListWidget¶
QListWidget类提供了一个基于项目的列表小部件。更多…概要¶
属性¶
countᅟ- 列表中项目的数量,包括任何隐藏的项目currentRowᅟ- 当前项目的行sortingEnabledᅟ- 是否启用排序
方法¶
def
__init__()def
addItem()def
addItems()def
count()def
currentItem()def
currentRow()def
editItem()def
findItems()def
indexFromItem()def
insertItem()def
insertItems()def
item()def
itemAt()def
itemFromIndex()def
itemWidget()def
items()def
row()def
selectedItems()def
setCurrentItem()def
setCurrentRow()def
setItemWidget()def
sortItems()def
takeItem()def
visualItemRect()
虚拟方法¶
def
dropMimeData()def
mimeData()def
mimeTypes()
插槽¶
def
clear()def
scrollToItem()
信号¶
def
itemActivated()def
itemChanged()def
itemClicked()def
itemEntered()def
itemPressed()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
QListWidget是一个便利类,它提供了一个类似于QListView提供的列表视图,但具有用于添加和删除项目的经典基于项目的界面。QListWidget使用内部模型来管理列表中的每个QListWidgetItem。为了获得更灵活的列表视图小部件,请使用带有标准模型的
QListView类。列表小部件的构建方式与其他小部件相同:
listWidget = QListWidget(self)
列表小部件的
selectionMode()决定了列表中可以同时选择多少项,以及是否可以创建复杂的项选择。这可以通过setSelectionMode()函数来设置。有两种方法可以将项目添加到列表中:它们可以作为列表小部件的父小部件构造,或者可以在没有父小部件的情况下构造,并在以后添加到列表中。如果在构造项目时已经存在列表小部件,则第一种方法更容易使用:
QListWidgetItem(tr("Oak"), listWidget) QListWidgetItem(tr("Fir"), listWidget) QListWidgetItem(tr("Pine"), listWidget)
如果您需要在列表的特定位置插入一个新项目,那么它应该在没有任何父部件的情况下构建。然后应使用
insertItem()函数将其放置在列表中。列表部件将拥有该项目的所有权。newItem = QListWidgetItem() newItem.setText(itemText) listWidget.insertItem(row, newItem)
对于多个项目,可以使用
insertItems()代替。列表中的项目数量可以通过count()函数找到。要从列表中移除项目,请使用takeItem()。列表中的当前项可以通过
currentItem()找到,并通过setCurrentItem()进行更改。用户还可以通过键盘导航或点击不同的项来更改当前项。当当前项发生变化时,会发出currentItemChanged()信号,并带有新的当前项和之前当前项的信息。另请参阅
QListWidgetItemQListViewQTreeView模型/视图编程 标签对话框示例注意
当使用
from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。- property countᅟ: int¶
此属性保存列表中项目的数量,包括任何隐藏的项目。
- Access functions:
- property currentRowᅟ: int¶
此属性保存当前项目的行。
根据当前的选择模式,该行也可能被选中。
- Access functions:
- property sortingEnabledᅟ: bool¶
此属性表示是否启用了排序。
如果此属性为
true,则启用列表排序;如果属性为false,则不启用排序。默认值为 false。
- Access functions:
使用给定的
parent构造一个空的QListWidget。- addItem(item)¶
- Parameters:
项目 –
QListWidgetItem
将
item插入到列表小部件的末尾。- addItem(label)
- Parameters:
标签 – str
在列表小部件的末尾插入一个带有文本
label的项目。- addItems(labels)¶
- Parameters:
labels – 字符串列表
在列表小部件的末尾插入带有文本
labels的项目。另请参阅
- clear()¶
移除视图中的所有项目和选择。
警告
所有项目将被永久删除。
- closePersistentEditor(item)¶
- Parameters:
项目 –
QListWidgetItem
关闭给定
item的持久编辑器。- count()¶
- Return type:
整数
属性
countᅟ的获取器。- currentItem()¶
- Return type:
返回当前项目。
另请参阅
- currentItemChanged(current, previous)¶
- Parameters:
current –
QListWidgetItemprevious –
QListWidgetItem
每当当前项目发生变化时,都会发出此信号。
previous是之前获得焦点的项目;current是新的当前项目。- currentRow()¶
- Return type:
整数
另请参阅
属性
currentRowᅟ的获取器。- currentRowChanged(currentRow)¶
- Parameters:
currentRow – int
每当当前项目发生变化时,都会发出此信号。
currentRow是当前项目的行。如果没有当前项目,currentRow为 -1。属性
currentRowᅟ的通知信号。- currentTextChanged(currentText)¶
- Parameters:
currentText – str
每当当前项目发生变化时,都会发出此信号。
currentText是当前项目中的文本数据。如果没有当前项目,currentText是无效的。- dropMimeData(index, data, action)¶
- Parameters:
index – 整数
data –
QMimeDataaction –
DropAction
- Return type:
布尔
处理由外部拖放操作提供的
data,该操作以给定的action在给定的index结束。如果模型可以处理data和action,则返回true;否则返回false。- editItem(item)¶
- Parameters:
项目 –
QListWidgetItem
如果
item是可编辑的,则开始编辑。使用给定的
flags查找与字符串text匹配的文本项。- indexFromItem(item)¶
- Parameters:
项目 –
QListWidgetItem- Return type:
返回与给定
item关联的QModelIndex。注意
在Qt 5.10之前的版本中,此函数接受一个非
const的item。- insertItem(row, item)¶
- Parameters:
row – int
项目 –
QListWidgetItem
在由
row给出的列表位置插入item。另请参阅
- insertItem(row, label)
- Parameters:
row – int
label – str
在列表小部件中插入一个带有文本
label的项目,位置由row给出。另请参阅
- insertItems(row, labels)¶
- Parameters:
row – int
labels – 字符串列表
将
labels列表中的项目插入到列表中,从给定的row开始。另请参阅
- isPersistentEditorOpen(item)¶
- Parameters:
项目 –
QListWidgetItem- Return type:
布尔
返回是否为项目
item打开了持久编辑器。- isSortingEnabled()¶
- Return type:
布尔
属性
sortingEnabledᅟ的获取器。- item(row)¶
- Parameters:
行 – 整数
- Return type:
返回列表中占据给定
row的项目,如果已设置;否则返回None。另请参阅
- itemActivated(item)¶
- Parameters:
项目 –
QListWidgetItem
当
item被激活时,会发出此信号。当用户单击或双击item时,它会根据系统配置被激活。当用户按下激活键时(在Windows和X11上是Return键,在Mac OS X上是Command+O),它也会被激活。返回指向坐标
p处项目的指针。坐标相对于列表小部件的viewport()。- itemAt(x, y)
- Parameters:
x – 整数
y – 整数
- Return type:
这是一个重载函数。
返回指向坐标(
x,y)处项目的指针。坐标相对于列表小部件的viewport()。- itemChanged(item)¶
- Parameters:
项目 –
QListWidgetItem
每当
item的数据发生变化时,都会发出此信号。- itemClicked(item)¶
- Parameters:
项目 –
QListWidgetItem
当在小部件中的项目上点击鼠标按钮时,会发出此信号,并带有指定的
item。- itemDoubleClicked(item)¶
- Parameters:
项目 –
QListWidgetItem
当在小部件中的项目上双击鼠标按钮时,会发出此信号,并带有指定的
item。- itemEntered(item)¶
- Parameters:
项目 –
QListWidgetItem
当鼠标光标进入一个项目时,会发出此信号。
item是进入的项目。此信号仅在启用鼠标跟踪或在移动进入项目时按下鼠标按钮时发出。另请参阅
- itemFromIndex(index)¶
- Parameters:
索引 –
QModelIndex- Return type:
返回与给定
index关联的QListWidgetItem的指针。- itemPressed(item)¶
- Parameters:
项目 –
QListWidgetItem
当在小部件中的项目上按下鼠标按钮时,会发出此信号,并带有指定的
item。- itemSelectionChanged()¶
每当选择发生变化时,都会发出此信号。
- itemWidget(item)¶
- Parameters:
项目 –
QListWidgetItem- Return type:
返回显示在给定
item中的小部件。返回指向
data对象中包含的项目的指针列表。如果该对象不是由同一进程中的QListWidget创建的,则列表为空。返回一个包含指定
items序列化描述的对象。用于描述项目的格式是从mimeTypes()函数中获取的。如果项目列表为空,则返回
None而不是序列化的空列表。- mimeTypes()¶
- Return type:
字符串列表
返回可用于描述列表小部件项列表的MIME类型列表。
另请参阅
- openPersistentEditor(item)¶
- Parameters:
项目 –
QListWidgetItem
为给定的
item打开一个编辑器。编辑完成后,编辑器保持打开状态。- removeItemWidget(item)¶
- Parameters:
项目 –
QListWidgetItem
移除给定
item上设置的小部件。要从列表中完全删除一个项目(行),可以删除该项目或使用
takeItem()。- row(item)¶
- Parameters:
项目 –
QListWidgetItem- Return type:
整数
返回包含给定
item的行。另请参阅
- scrollToItem(item[, hint=QAbstractItemView.ScrollHint.EnsureVisible])¶
- Parameters:
项目 –
QListWidgetItem提示 –
ScrollHint
如有必要,滚动视图以确保
item可见。hint指定操作后item应该位于的位置。- selectedItems()¶
- Return type:
.WidgetItem 的列表的列表
返回列表小部件中所有选定项目的列表。
- setCurrentItem(item)¶
- Parameters:
项目 –
QListWidgetItem
将当前项目设置为
item。除非选择模式是
NoSelection,否则该项目也会被选中。另请参阅
- setCurrentItem(item, command)
- Parameters:
项目 –
QListWidgetItemcommand –
SelectionFlag的组合
将当前项目设置为
item,使用给定的command。- setCurrentRow(row)¶
- Parameters:
行 – 整数
属性
currentRowᅟ的设置器。- setCurrentRow(row, command)
- Parameters:
row – int
command –
SelectionFlag的组合
将当前行设置为给定的
row,使用给定的command,另请参阅
- setItemWidget(item, widget)¶
- Parameters:
项目 –
QListWidgetItemwidget –
QWidget
设置要在给定的
item中显示的widget。此函数应仅用于在列表小部件项的位置显示静态内容。如果您想显示自定义动态内容或实现自定义编辑器小部件,请使用
QListView并子类化QStyledItemDelegate。- setSortingEnabled(enable)¶
- Parameters:
enable – 布尔值
另请参阅
属性
sortingEnabledᅟ的设置器。根据指定的
order对列表小部件中的所有项目进行排序。- supportedDropActions()¶
- Return type:
DropAction的组合
返回此视图支持的拖放操作。
另请参阅
DropActions- takeItem(row)¶
- Parameters:
行 – 整数
- Return type:
从列表小部件中的给定
row移除并返回项目;否则返回None。从列表小部件中移除的项目将不再由Qt管理,需要手动删除。
另请参阅
- visualItemRect(item)¶
- Parameters:
项目 –
QListWidgetItem- Return type:
返回视口中由
item处的项目占据的矩形。