使用python迭代QListView内部的所有项目

har*_*ish 5 python pyqt4 qt-designer

我有一个QlistView内部带有项目名称(QstandardItem)的复选框(动态创建)。下面Qlistview是一个名为的复选框DatacheckercheckBox1。我想要的是当此DatacheckercheckBox1复选框状态更改为“已检查”时,QlistView应选中内的所有复选框。我已经DatacheckercheckBox1通过复选框发出了信号

self.dlg.DatacheckercheckBox1.stateChanged.connect(self.selectAll)
Run Code Online (Sandbox Code Playgroud)

我没有写一个方法,应该迭代其中的所有项目,Qlistview并使其旁边的复选框“已检查”(如果尚未检查)的想法。

ekh*_*oro 5

使用模型来迭代项目:

model = self.listView.model()
for index in range(model.rowCount()):
    item = model.item(index)
    if item.isCheckable() and item.checkState() == QtCore.Qt.Unchecked:
        item.setCheckState(QtCore.Qt.Checked)
Run Code Online (Sandbox Code Playgroud)