pyqt QListWigit


原文链接: pyqt QListWigit

移除文件列表中的选项

    self.btnRemove.clicked.connect(self.remove_item_callback)
        
    def remove_item_callback(self):
        for item in self.listWidget.selectedItems():
            self.listWidget.takeItem(self.listWidget.row(item))

在列表上双击

        self.fileListWidget = QListWidget()
        self.fileListWidget.itemDoubleClicked.connect(self.fileitemDoubleClicked)
    
    def fileitemDoubleClicked(self, item=None):
        currIndex = self.mImgList.index(ustr(item.text().split()[1]))
        if currIndex < len(self.mImgList):
            filename = self.mImgList[currIndex]
            if filename:
                self.loadFile(filename)



        self.listWidget.pressed.connect(self.saveClickState)       # Get when the mouse goes down
        self.listWidget.itemEntered.connect(self.setClickState)    # when the mouse is dragged

from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
listItem = ['a','b','c','d','e']
if listItem is not None and len(listItem) > 0:
      self.listWidget = QListWidget(self)
      for item in listItem:
        self.listWidget.addItem(item)
      if multiselected:
        self.listWidget.setSelectionMode(QAbstractItemView.ExtendedSelection)#按住CTRL可多选
      # self.listWidget.itemClicked.connect(self.listItemClick)
      # self.listWidget.itemDoubleClicked.connect(self.listItemDoubleClick)
text_list = self.listWidget.selectedItems()
text = [i.text() for i in list(text_list)]  
text = '_',join(text) # text即多选项并以_隔开

listWidget = QListWidget() #实例化一个(item base)的列表

listWidget.addItem('dd') #添加一个项

listWidget.addItems([]) # 从序列中添加子项

listWidget.setDragEnabled(True) #设置拖拉

listWidget.sortItems() #排序

listWidget.selectAll()全选

listWidget.setSortingEnabled(bool) #设置自动排序

listWidget.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) #设置选择模式

#选择模式有:ExtendedSelection 按住ctrl多选, SingleSelection 单选 MultiSelection 点击多选 ContiguousSelection 鼠标拖拉多选

listWidget.setCurrentRow(0) 设置当前选择行 默认为-1

listWidget.count() #得到子项总数

listWidget.item(row).text() #得到第 row 行的内容 listWidget.item(row) 返回一个item 对象

listWidget.takeItem(row) #返回row 行的 所在的item 对象 可以用在 insertItem()中

listWidget.insertItem(2,item) #在第二行插入一项 item 可谓为一个listviewitem对象 或者string

listWidget.setCurrentItem('dd') #设置'dd'为当前项

listWidget.selectedItems() 返回一个 包含item对象 的list 对象

修改item 的内容

item.setText('dsds') # 设置item的内容为dsds item为对象 可从 listWidget.item(row) takeItem(row) 得到

分享

`