[PyQt5] QListWidget 使用方法
简介
QListWidget是一个方便的类,它提供一个与QListView提供的列表视图类似的列表视图,但是具有一个用于添加和删除项目的经典的基于项目的接口。QListWidget使用一个内部模型来管理列表中的每个QListWidgetItem。
对于更灵活的列表视图小部件,可以使用带有标准模型的QListView类。QListWidget是一个方便的类,它提供一个与QListView提供的列表视图类似的列表视图,但是具有一个用于添加和删除项目的经典的基于项目的接口。QListWidget使用一个内部模型来管理列表中的每个QListWidgetItem。
对于更灵活的列表视图小部件,可以使用带有标准模型的QListView类。
函数
| 函数名 | 描述 | 传参 | 返回数据 |
|---|---|---|---|
| addItem(item or label) | 在列表尾部中添加 QListWidgetItem 对象或字符串 |
QListWidgetItem or str |
|
| addItems(labels) | 在列表尾部中添加 str 列表中的每条目 |
[str] |
|
| openPersistentEditor(item) | 开始编辑 | QListWidgetItem |
|
| closePersistentEditor(item) | 结束编辑 | QListWidgetItem |
|
| count() | 列表条目数量 | 空 |
int |
| currentItem() | 返回当前选中的条目 item |
空 |
QListWidgetItem |
| currentRow() | 返回当前选中的条目 row |
空 |
int |
| editItem(item) | 如果条目是可编辑的,则开始编辑该条目 | QListWidgetItem |
|
| findItems(text, flags) | 文本匹配返回匹配到的条目 | text, flags |
[QListWidgetItem] |
| indexFromItem(item) | 返回 QModelIndex 对象 | QListWidgetItem |
QModelIndex |
| insertItem(row, item or label) | 在列表位置插入 QListWidgetItem 对象或字符串 |
int,QListWidgetItem or str |
|
| insertItems(row, labels) | 在列表位置插入字符串 str 列表中的每条目 |
int,[str] |
|
| isItemHidden(item) | 官方不推荐使用 | ||
| isItemSelected(item) | 官方不推荐使用 | ||
| isPersistentEditorOpen(item) | 判断是否开启了编辑模式 | QListWidgetItem |
bool |
| isSortingEnabled() | 判断是否开启了排序模式 | bool |
|
| item(row) | 通过列表行找到 QListWidgetItem 对象 |
int |
QListWidgetItem |
| itemAt(p) | 返回坐标处的 item |
(int,int) or QPoint |
QListWidgetItem |
| itemFromIndex(index) | 返回 QListWidgetItem 对象 |
QModelIndex |
QListWidgetItem |
| itemWidget(item) | 返回 item 中的 Widget 对象,如果没有返回 None |
QListWidgetItem |
Widget 对象 |
| items(data) | - | - | - |
| removeItemWidget(item) | 移除 item 中的 Widget 对象 |
QListWidgetItem |
|
| row(item) | 通过 QListWidgetItem 找到 row |
QListWidgetItem |
int |
| selectedItems() | 返回当前选中的条目 多个 | [QListWidgetItem] |
|
| setCurrentItem(item) | 设置当前选中的条目 item |
QListWidgetItem |
|
| setCurrentRow(row) | 设置当前选中的条目 row |
int |
|
| setItemHidden(item, hide) | 官方不推荐使用 | ||
| setItemSelected(item, select) | 官方不推荐使用 | ||
| setItemWidget(item, widget) | 为 item 设置 widget |
QListWidgetItem,Widget |
|
| setSortingEnabled(enable) | 设置排序模式开关 | bool |
|
| sortItems([order=Qt.AscendingOrder]) | 默认按升序重新排列条目 | ||
| takeItem(row) | 移除列表条目 | int |
|
| visualItemRect(item) | 返回条目在列表的坐标 与 尺寸 | QListWidgetItem |
QRect |
虚函数
| 函数名 | 描述 |
|---|---|
| dropMimeData(index, data, action) | 处理由外部拖放操作提供的数据,该操作以给定索引中的给定操作结束。如果模型可以处理数据和动作,则返回true 否则返回false |
| mimeData(items) | 返回一个对象,该对象包含指定项的序列化描述。用于描述项的格式是从mimeTypes()函数获得的 |
| mimeTypes() | 返回可用于描述 listwidget 项列表的 MIME 类型列表 |
| supportedDropActions() | 返回此视图支持的拖放操作 |
槽
| 函数名 | 描述 |
|---|---|
| clear() | 删除视图中的所有项,警告:所有项目将被永久删除 |
| scrollToItem(item[, hint=EnsureVisible]) | 必要时滚动视图以确保项目可见。hint指定操作后项的位置。 |
信号
| 信号名 | 触发条件 | 返回数据 |
|---|---|---|
| currentItemChanged(current, previous) | 选中行发生了改变 | 当前 QListWidgetItem 对象,之前 QListWidgetItem对象 |
| currentRowChanged(currentRow) | 选中行发生了改变 | 当前行 row |
| currentTextChanged(currentRow) | 选中行发生了改变 | 当前行 text |
| itemClicked(item) | 点击列表中的条目时 | QListWidgetItem 对象 |
| itemChanged(item) | 列表中有变化后 | QListWidgetItem 对象 |
| itemActivated(item) | 连击列表中的条目时 | QListWidgetItem 对象 |
| itemDoubleClicked(item) | 双击列表中的条目时 | QListWidgetItem 对象 |
| itemEntered(item) | 拖拽列表中的条目时 | 对应 QListWidgetItem 对象 |
| itemPressed(item) | 按下列表中的条目时 | QListWidgetItem 对象 |
| itemSelectionChanged() | 选中行发生了改变 | 无 |
本作品采用《CC 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: