编程语言
首页 > 编程语言> > 使用python迭代QListView中的所有项目

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

作者:互联网

我有一个QlistView里面是一个带有项目名称(QstandardItem)的复选框(动态创建).在Qlistview下面是一个名为DatacheckercheckBox1的复选框.我想要的是当这个DatacheckercheckBox1复选框状态变为“Checked”时,应该检查QlistView中的所有复选框.我已经为DatacheckercheckBox1复选框发出了一个信号

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)

标签:python,pyqt4,qt-designer
来源: https://codeday.me/bug/20190623/1274364.html