使用python迭代QListView中的所有项目

时间:2015-05-06 11:15:59

标签: python pyqt4 qt-designer

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

DatacheckercheckBox1复选框发出信号
self.dlg.DatacheckercheckBox1.stateChanged.connect(self.selectAll)

我不知道写一个方法应该迭代Qlistview内的所有项目,并使其旁边的复选框“已检查”是否已经检查过。

1 个答案:

答案 0 :(得分:4)

使用模型迭代项目:

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)