PyQt5 QListWidget选择多项并返回text内容

实现多选

通过setSelectionMode 可以实现ctrl+ 鼠标左键多选

 self.listWidget.setSelectionMode(QAbstractItemView.ExtendedSelection) 

完整代码

from PyQt5.QtCore import QEvent, Qt, QSize, pyqtSignal
from PyQt5.QtGui import QPixmap, QIcon
from PyQt5.QtWidgets import * 

class Dialog_01(QMainWindow):
    def __init__(self):
        super(QMainWindow,self).__init__()

        myQWidget = QWidget()
        myBoxLayout = QVBoxLayout()
        myQWidget.setLayout(myBoxLayout)
        self.setCentralWidget(myQWidget)

        self.listWidget = QListWidget()
        self.listWidget.setSelectionMode(QAbstractItemView.ExtendedSelection)  # 设置之后可以通过ctrl+ 鼠标左键多选
        self.listWidget.itemClicked.connect(self.printCurrentItems)

        for i in range(3):
            item=QListWidgetItem()
            name='A'+'%04d'%i
            item.setText(name)
            item.setData(Qt.UserRole, name)
            self.listWidget.addItem(item)

        myBoxLayout.addWidget(self.listWidget)

    def printCurrentItems(self, item):
        print('-----mouse choose:------')
        items = self.listWidget.selectedItems()
        for item in items:
            item_name = item.data(Qt.UserRole)
            print('choose item:', item_name)
            item_name2 = item.text()
            print('choose item_name2:', item_name2)

if __name__ == '__main__':
    app = QApplication(sys.argv)
    dialog_1 = Dialog_01()
    dialog_1.show()
    dialog_1.resize(720, 480)
    sys.exit(app.exec_())
   

获取QListWidget内容

这里有两种方法

  1. 方法1
item.setText(name)  # 设置
item_name = item.text() # 获取
  1. 方法2
item.setData(Qt.UserRole, name)  # 设置
item_name = item.data(Qt.UserRole) # 获取
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 返回上次光标的位置Ctrl+Alt+ left/right 返回至上次浏览的位置 Alt+回车 导入包,自动修正C...
    请叫我四爷阅读 1,969评论 1 2
  • Eclipse常用快捷键 1几个最重要的快捷键 代码助手:Ctrl+Space(简体中文操作系统是Alt+/)快速...
    山不转人自转阅读 1,468评论 0 10
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,526评论 1 11
  • 1、窗体 1、常用属性 (1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。 ...
    Moment__格调阅读 4,586评论 0 11
  • 有人说,十几年前看周星驰的电影笑成神经病,现在再看却哭成了狗。时间默默无言,却把青葱少年郎染成了中年大叔,那些曾经...
    林易子阅读 621评论 0 1