- class QListWidget#
QListWidget 类提供了基于项目的列表控件。 更多…
概述#
属性#
countᅟ
- 列表中项目的总数,包括所有隐藏的项目currentRowᅟ
- 当前项目的行sortingEnabledᅟ
- 是否启用排序
方法#
def
__init__()
def
addItem()
def
addItems()
def
count()
定义
currentRow()
定义
editItem()
定义
findItems()
定义
insertItem()
定义
item()
定义
itemAt()
定义
itemWidget()
定义
items()
定义
row()
定义
sortItems()
定义
takeItem()
虚方法#
定义
mimeData()
定义
mimeTypes()
槽#
定义
clear()
信号#
注意
本文档可能包含从 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()
信号。另请参阅
QListWidgetItem
QListView
QTreeView
模型/视图编程 标签对话框示例注意
属性可以在使用
from __feature__ import true_property
时直接使用,否则通过访问函数使用。- property count: int#
此属性存储列表中的项目数,包括任何隐藏的项目。
- 访问函数
- property currentRow: int#
此属性存储当前项目的行。
根据当前的选中模式,行也可能被选中。
- property sortingEnabled: bool#
此属性存储是否启用了排序。
如果此属性为
true
,则列表中启用了排序;如果属性为false
,则未启用排序。默认值为
false
。使用给定的
parent
构造一个空的QListWidget
。- addItem(item)#
- 参数: :
item –
QListWidgetItem
将
item
插入列表的小部件的末尾。警告
QListWidgetItem对象只能添加到一个QListWidget对象中。将相同的QListWidgetItem对象多次添加到QListWidget对象中,会导致未定义的行为。
另请参阅
- addItem(label)
- 参数: :
label – 字符串
在列表控件末尾插入带文本
label
的项。- addItems(labels)#
- 参数: :
labels – 字符串列表
在列表控件末尾插入带文本
labels
的项。另请参阅
- clear()#
移除视图中的所有项和选择。
警告
所有项都将被永久删除。
- closePersistentEditor(item)#
- 参数: :
item –
QListWidgetItem
关闭给定
item
的持久编辑器。- count()#
- 返回类型:
int
属性
count
的获取器。- currentItem()#
- 返回类型:
返回当前项。
另请参阅
- currentItemChanged(current, previous)#
- 参数: :
current –
QListWidgetItem
previous –
QListWidgetItem
每当当前项更改时,都会发出此信号。
previous
是之前具有聚焦的项;current
是新的当前项。- currentRow()#
- 返回类型:
int
另请参阅
属性
currentRowᅟ
的获取方法。- currentRowChanged(currentRow)#
- 参数: :
currentRow – int
每当当前项更改时,都会发出此信号。
currentRow
是当前项的行数。如果没有当前项,currentRow
为 -1。属性
currentRowᅟ
的通知信号。- currentTextChanged(currentText)#
- 参数: :
currentText – str
每当当前项更改时,都会发出此信号。
currentText
是当前项中的文本数据。如果没有当前项,currentText
无效。- dropMimeData(index, data, action)#
- 参数: :
index – int
data –
QMimeData
action –
DropAction
- 返回类型:
bool
处理在给定
index
和给定action
下结束的外部拖放操作提供的data
。如果模型可以处理data
和action
,则返回true
;否则返回false
。另请参阅
- editItem(item)#
- 参数: :
item –
QListWidgetItem
如果可以编辑,开始编辑
item
。使用给定的
flags
查找与字符串text
匹配的项。- indexFromItem(item)#
- 参数: :
item –
QListWidgetItem
- 返回类型:
返回与给定
item
相关的 QModelIndex。注意
在 5.10 版本之前的 Qt 中,此函数接受一个非
const
的item
。- insertItem(row, item)#
- 参数: :
row – int
item –
QListWidgetItem
在列表中按照
row
位置插入item
。另请参阅
- insertItem(row, label)
- 参数: :
row – int
label – 字符串
在列表小部件中按
row
位置插入具有文本label
的项。另请参阅
- insertItems(row, labels)#
- 参数: :
row – int
labels – 字符串列表
从
labels
列表中插入项到列表中,从给定的row
开始。另请参阅
- isPersistentEditorOpen(item)#
- 参数: :
item –
QListWidgetItem
- 返回类型:
bool
返回是否为
item
打开国久编辑器。- isSortingEnabled()#
- 返回类型:
bool
属性
sortingEnabled
的获取器。- item(row)#
- 参数: :
row – int
- 返回类型:
如果设置了给定
row
在列表中的项,则返回该项;否则返回None
。另请参阅
- itemActivated(item)#
- 参数: :
item –
QListWidgetItem
此信号在
item
激活时发出。当用户点击或双击item
时会激活item
,具体取决于系统配置。当用户按下激活键(在 Windows 和 X11 中是回车键,在 Mac OS X 中是 Command+O)时,它也会被激活。返回坐标
p
的项目指针。坐标相对于列表小部件的viewport()
。- itemAt(x, y)
- 参数: :
x – int
y – int
- 返回类型:
这是一个重载函数。
返回坐标 (
x
,y
) 的项目指针。坐标相对于列表小部件的viewport()
。- itemChanged(item)#
- 参数: :
item –
QListWidgetItem
每当
item
的数据发生变化时,都会发出此信号。- itemClicked(item)#
- 参数: :
item –
QListWidgetItem
当在控件中的项目上单击鼠标按钮时,会发出具有指定
item
的此信号。- itemDoubleClicked(item)#
- 参数: :
item –
QListWidgetItem
当在控件中的项目上双击鼠标按钮时,会发出具有指定
item
的此信号。- itemEntered(item)#
- 参数: :
item –
QListWidgetItem
当鼠标光标进入一个项目时,将发出此信号。此处所讲的
item
指的是进入的项目。仅在启用鼠标跟踪,或鼠标光标移入项目时按下鼠标按钮时,此信号才会被发出。另请参阅
- itemFromIndex(index)#
- 参数: :
index –
QModelIndex
- 返回类型:
返回与给定
index
关联的QListWidgetItem
的指针。- itemPressed(item)#
- 参数: :
item –
QListWidgetItem
当在部件中的一个项目上按下鼠标按钮时,将与指定
item
一起发出此信号。- itemSelectionChanged()#
每当选择发生变化时,都会发出此信号。
- itemWidget(item)#
- 参数: :
item –
QListWidgetItem
- 返回类型:
返回在给定
item
中显示的部件。返回一个指针列表,指向包含在
data
对象中的项目。如果对象不是由同一进程中的QListWidget
创建的,则列表为空。返回一个包含指定
items
序列化描述的对象。描述项的格式是从mimeTypes()
函数中获得的。如果项列表为空,返回的是
None
而不是序列化的空列表。- mimeTypes()#
- 返回类型:
字符串列表
返回可以用来描述一系列 listwidget 项的 MIME 类型列表。
另请参阅
- openPersistentEditor(item)#
- 参数: :
item –
QListWidgetItem
打开给定
item
的编辑器。编辑后会保持打开状态。- removeItemWidget(item)#
- 参数: :
item –
QListWidgetItem
移除给定
item
上设置的 widget。要从列表中完全移除一个项(行),可以删除该项或使用
takeItem()
。- row(item)#
- 参数: :
item –
QListWidgetItem
- 返回类型:
int
返回包含给定
item
的行。另请参阅
- scrollToItem(item[, hint=QAbstractItemView.ScrollHint.EnsureVisible])#
- 参数: :
item –
QListWidgetItem
hint –
ScrollHint
在需要时,滚动视图以确保
item
可见。hint
指定了操作后item
应该位于的位置。- selectedItems()#
- 返回类型:
. WidgetItem 的列表
返回列表小部件中所有选中项的列表。
- setCurrentItem(item)#
- 参数: :
item –
QListWidgetItem
设置当前项为
item
。除非选择模式为
NoSelection
,否则项目也将被选中。另请参阅
- setCurrentItem(item, command)
- 参数: :
item –
QListWidgetItem
command –
SelectionFlag
的组合
将当前项目设置为
item
,使用给定的command
。- setCurrentRow(row)#
- 参数: :
row – int
另请参阅
是属性
currentRowᅟ
的设置器。- setCurrentRow(row, command)
- 参数: :
row – int
command –
SelectionFlag
的组合
使用给定的
command
将当前行设置为给定的row
。- setItemWidget(item, widget)#
- 参数: :
item –
QListWidgetItem
widget –
QWidget
设置要在给定的
item
中显示的widget
。此函数应仅用于在列表小部件项的位置显示静态内容。如果您想显示自定义动态内容或实现自定义编辑小部件,请使用
QListView
并子类QStyledItemDelegate
代替。- setSortingEnabled(enable)#
- 参数: :
enable – bool
另请参阅
是属性
sortingEnabledᅟ
的设置器。- sortItems([order=Qt.AscendingOrder])#
- 参数: :
根据指定的
<span class="pre">order</span></code> 对列表小部件中的所有项目进行排序。
- supportedDropActions(</span>)#</a>
- 返回类型:
<span class="pre">DropAction</span></code> 的组合
返回此视图支持的拖放操作。
另请参阅
拖放操作
- takeItem(</span><span class="n">row</span></span></em></span}</code></a>
- 参数: :
row – int
- 返回类型:
从列表小部件的指定
<span class="pre">row</span></code> 中删除并返回项目;否则返回
<span class="pre">None</span></code>。
从列表小部件中移除的项目将不会被 Qt 管理,需要手动删除。
另请参阅
- visualItemRect(</span><span class="n">item</span></span></em></span></code></a>
- 参数: :
item –
QListWidgetItem
- 返回类型:
返回位于
<span class="pre">item</span></code> 的视图中占用的矩形。