QListWidget 类使用教程

文章目录

  • 1、简介
  • 2、属性
  • 3、functions
    • 3.1、访问属性相关 function
    • 3.2、公共槽
    • 3.3、Signal
    • 3.4、其他方法

QT 官方文档参考地址:https://doc.qt.io/qt-5/qlistwidget.html

1、简介

moudle class 说明
PyQt5.QtWidgets
包含了一整套UI元素控件,用于建立符合系统风格的界面
QListWidget 基于 Widget 的列表小部件

QListWidget是一个用于显示列表的Qt部件,它提供了一个类似于QListView所提供的列表视图,它可以显示文本、图像或自定义的部件项。它提供了一种方便的方式来管理和展示项目列表,并支持与这些项目相关的操作,如选择、拖放和排序。
QListWidget 类使用教程_第1张图片

主要功能:

  1. 显示项目:QListWidget用于显示项目列表。每个项目可以包含文本、图像或自定义的部件。

  2. 项目选择:用户可以通过单击或按下键盘上的上下箭头键来选择项目。可以选择单个项目或多个项目。

  3. 自定义项目视图:通过设置QListWidget的显示模式和布局,可以自定义项目在列表中的显示方式。例如,可以使用垂直或网格布局来显示项目。

  4. 拖放支持:QListWidget提供了内置的拖放支持,允许从列表中拖动项目或在列表中重新排序项目。

  5. 项目操作:可以对列表中的项目执行操作,如插入、删除、移动、清空等。

  6. 信号和槽机制:QListWidget提供了各种信号,用于捕获项目选择、双击、键盘事件等,以便执行相应的操作。

  7. 上下文菜单:可以为列表中的项目添加上下文菜单,以便在项目上右键单击时显示相关操作。

2、属性

1、count(类型:const int

此属性保存列表中的项数,包括任何隐藏项。

2、currentRow(类型:int

此属性保存当前项的行
根据当前的选择模式,还可以选择行。

3、sortingEnabled(类型:bool

此属性保存是否启用排序
如果此属性为true,则对列表启用排序;如果该属性为false,则不启用排序。
默认值为false。

:

3、functions

3.1、访问属性相关 function

1、int count() const

获取列表中的项数,包括任何隐藏项。

2、int currentRow() const

当前项的行
如果未选择,则返回 -1

3、void setCurrentRow(int row)

将当前行设置为指定的行

4、bool isSortingEnabled() const

是否启用排序

5、void setSortingEnabled(bool enable)

设置是否启用排序

3.2、公共槽

1、void clear()

删除视图中的所有项和选择项。

3.3、Signal

1、void itemClicked(QListWidgetItem *item)

当在小部件中的一个项目上单击鼠标按钮时(左键单击),该信号与指定的项目一起发出。

2、void itemPressed(QListWidgetItem *item)

当在小部件中的一个项目上按下鼠标按钮时(左键 / 右键 单击),该信号与指定的项目一起发出。

3、void itemDoubleClicked(QListWidgetItem *item)

当在小部件中的一个项目上双击鼠标按钮时,该信号与指定的项目一起发出。

3.4、其他方法

1、void addItem(const QString &label)

在列表小部件的末尾插入带有文本标签的项。
无法设置图标

2、void addItems(const QStringList &labels)

在列表小部件的末尾插入带有文本标签的多个项。
无法设置图标

3、void addItem(QListWidgetItem *item)

在列表小部件的末尾插入项目。
通过 item.setIcon(QIcon(QPixmap( icopath )))

from PyQt5.QtGui import *
from PyQt5.QtWidgets import *

listWidget = QListWidget(self)
item = QListWidgetItem(mp3filename)
item.setIcon(QIcon(QPixmap(r"E:\Private_Python\音乐播放器\图片\播放.ico")))
listWidget.addItem(item)

4、void closePersistentEditor(QListWidgetItem *item)

关闭指定项的持久编辑器

5、void openPersistentEditor(QListWidgetItem *item)

打开给定项的编辑器
编辑器在编辑后保持打开状态。

6、bool isPersistentEditorOpen(QListWidgetItem *item) const

关闭指定项的持久编辑器

7、QListWidgetItem * currentItem() const

返回当前项

8、void setCurrentItem(QListWidgetItem *item)

将当前项设置为item
除非选择模式为NoSelection,否则项目也会被选中。

9、QList findItems(const QString &text, Qt::MatchFlags flags) const

使用给定标志查找具有与字符串文本匹配的文本的项

10、void insertItem(int row, const QString &label)

在列表小部件中按row指定的位置插入带有文本标签的项

11、void insertItems(int row, const QStringList &labels)

在列表小部件中按row指定的位置插入带有文本标签的多个项

12、QListWidgetItem * takeItem(int row)

从列表小部件的给定行中删除并返回项目;否则返回nullptr
从列表小部件中删除的项目将不会由Qt管理,并且需要手动删除

currentRow = ui.listWidget.currentRow()
item = ui.listWidget.takeItem(currentRow)
del item

你可能感兴趣的:(PyQt5,1024程序员节,pyqt,qt5,python,qt)