在PyQt4中给出一个带有一些行和列的树小部件:
1)有没有办法轻松迭代所有细胞?
2)如何检查是否在第一列之外选中了复选框?
到目前为止,我只是设法获得第一列中复选框的结果,请参阅here。
为了澄清这里的小部件我的想象如下:(第四列应该是可编辑的)
family="Georgia"
答案 0 :(得分:1)
迭代树窗口小部件的一种方法是使用QTreeWidgetItemIterator:
def iter_tree_widget(root):
iterator = QtGui.QTreeWidgetItemIterator(root)
while True:
item = iterator.value()
if item is not None:
yield item
iterator += 1
else:
break
root
参数可以是树小部件(迭代整个树),也可以是树小部件项(迭代单个分支)。
迭代器每行产生一个项目,只需指定列索引即可访问此项目的列:
column = 0
for item in iter_tree_widget(tree):
print('State: %s, Text: "%s"' % (
item.checkState(column), item.text(column)))