簡體   English   中英

Python:如何在PyQt中查詢QListWidget中的多個選定項

[英]Python: How to query multiple selected items in QListWidget in PyQt

有一個啟用了ExtendedSelection的QListWidget(可以同時選擇多個項目)。 單擊按鈕查詢listWidget.currentItem()以從listWidget獲取當前項。 問題:如何獲取listWidget中當前選中的所有項目?

from PyQt4 import QtGui, QtCore
import sys, os

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

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

        self.listWidget = QtGui.QListWidget()
        self.listWidget.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)

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

        myBoxLayout.addWidget(self.listWidget)      

        Button_01 = QtGui.QPushButton("Print Current Items")
        Button_01.clicked.connect(self.printCurrentItems)
        myBoxLayout.addWidget(Button_01)


    def printCurrentItems(self):
        print "Current Items are : ", self.listWidget.currentItem()


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

這是工作代碼(感謝user3254944!):

from PyQt4 import QtGui, QtCore
import sys, os

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

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

        self.listWidget = QtGui.QListWidget()
        self.listWidget.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection)

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

        myBoxLayout.addWidget(self.listWidget)      

        Button_01 = QtGui.QPushButton("Print Current Items")
        Button_01.clicked.connect(self.printCurrentItems)
        myBoxLayout.addWidget(Button_01)


    def printCurrentItems(self):
        print "Current Items are : ", self.listWidget.selectedItems()


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

.selectedItems()

QTableWidget的C ++,但QListWidget也是如此

QList<QTableWidgetItem*> selectedItems = matrixTable.selectedItems();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM