alp*_*ric 3 python qlistwidget pyqt4
如果已经有人问过,我很抱歉,但请您再次澄清一下:如何在 QListWidget 中列出所有 ListWidgetItems?
这是在行动。列表中有 5 个项目。4. 减一结果
from PyQt4 import QtGui, QtCore
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.lw = QtGui.QListWidget()
        myBoxLayout.addWidget(self.lw)
        for i in range(5):
            QtGui.QListWidgetItem('myItem', self.lw)
        ok_button = QtGui.QPushButton("Print count")
        ok_button.clicked.connect(self.OK)      
        myBoxLayout.addWidget(ok_button) 
    def OK(self):
        # let self.lw haven elements in it.
        items = []
        for x in range(self.lw.count()-1):
            items.append(self.lw.item(x))
        print len(items)
if __name__ == '__main__':
    app = QtGui.QApplication(sys.argv)
    dialog_1 = Dialog_01()
    dialog_1.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)
    这是实现此目的的 Pythonic 方法:
lw = QtGui.QListWidget()
items = [lw.item(x) for x in range(lw.count())]
Run Code Online (Sandbox Code Playgroud)
或者,如果您想要一个字符串列表:
lw = QtGui.QListWidget()
items = [lw.item(x).text() for x in range(lw.count())]
Run Code Online (Sandbox Code Playgroud)
        这是在 listWidget 中获取所有 ListWidgetItems 的简单方法。
lw = QtGui.QListWidget()
# let lw haven elements in it.
items = []
for x in range(lw.count()-1):
    items.append(lw.item(x))
#items will consist a list of ListWidgetItems.
Run Code Online (Sandbox Code Playgroud)