• QListWidget 类使用教程


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

    1、简介

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

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

    主要功能:

    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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    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
    
    • 1
    • 2
    • 3

    更多

    Qt QListWidget列表框用法详解

  • 相关阅读:
    为什么要用PLL时钟芯片替换传统晶体和振荡器?
    shell脚本适用场景
    SpringBoot 源码分析(二) 自动装配过程分析
    redis操作五种数据类型
    JavaScript系列之if语句
    Fiddler 抓取 HTTPS 请求大全
    数据结构与算法——线性表的顺序存储
    14天机器学习DAY1-5|线性回归原理小结
    城市内涝积水监测,万宾科技内涝预警监测系统
    [MRCTF2020]PixelShooter
  • 原文地址:https://blog.csdn.net/m0_56208280/article/details/133967602