使用python迭代QListView中的所有项

使用python迭代QListView中的所有项,python,pyqt4,qt-designer,Python,Pyqt4,Qt Designer,我有一个QlistView,里面有一个复选框(动态创建)和项目名称(QstandardItem)。在Qlistview下面是一个名为DatacheckercheckBox1的复选框。我想要的是,当此DatacheckercheckBox1checkbox状态更改为“Checked”时,应选中QlistView中的所有复选框。我已通过为DatacheckercheckBox1checkbox发出信号 self.dlg.DatacheckercheckBox1.stateChanged.connec

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

self.dlg.DatacheckercheckBox1.stateChanged.connect(self.selectAll)

我不知道如何编写一个方法来迭代
Qlistview
中的所有项目,如果未选中,则将其旁边的复选框设为“选中”。

使用模型迭代项目:

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)

我想下面的链接可以帮助你。检查是的,我确实看到了链接,但在QListView的链接中找不到任何相关的方法。我认为@SAM指的是
。findItems
方法。@ngulam。
QListView
类没有
findItems
方法。
QStandardItemModel
类确实如此,但它并不是该作业的正确工具,因为它通过匹配文本而不是标记来过滤项目。感谢您的回复。我是PyQT的新手。对不起,这个愚蠢的问题,但我想把我自己说清楚。你能告诉我更多关于这个型号的情况吗。我在文档中没有找到任何对象模型,也没有找到模型返回的数据类型?rowCount方法来自哪里?@harinish。根据你的问题,我假设你使用的是a,它是的一个子类。函数在节中。我可以知道你在item=model.item(index)中做什么吗?@harinish。它在给定的索引下运行。返回的项是,它包含列表视图中该行/索引的数据。太棒了!非常感谢