QTreeWidget 的迭代
Iteration of a QTreeWidget
我有一个 QTreeWidget,我用它来表示数据的分解结构。基本上我计划使用我的 QTreeWidget 来跟踪城市中某些人口统计数据的人口。例如:
Males 9,000
- New York 5,000
- D.C. 4,000
Females 10,000
- Nashville 3,000
- San Diego 7,000
显然这个数据只是为了举例。我在实施时遇到了一些问题。我不知道如何遍历树。这样我就可以经常检查数据是否已更改。如果它发生了变化,那么我想用我存储在我的 python 字典中的数据更新它,它看起来像:
{'Males': [MyCustomClass('New York', 5000), MyCustomClass('D.C.', 4000)],
'Females': [MyCustomClass('Nashville', 3000), MyCustomClass('San Diego', 7000)],
}
关于如何遍历每个元素(以及每个元素的每一列)并将其与存储的字典值进行比较,有什么想法吗?
您可以使用 QTreeWidgetItemIterator
因为我找不到它的官方 pyqt 文档,像这样的东西应该可以工作:
iterator = QTreeWidgetItemIterator(self.treeWidget)
while iterator.value():
item = iterator.value()
if item.text() == "someText" #check value here
item.setText(column, "text") #set text here
iterator+=1
我有一个 QTreeWidget,我用它来表示数据的分解结构。基本上我计划使用我的 QTreeWidget 来跟踪城市中某些人口统计数据的人口。例如:
Males 9,000
- New York 5,000
- D.C. 4,000
Females 10,000
- Nashville 3,000
- San Diego 7,000
显然这个数据只是为了举例。我在实施时遇到了一些问题。我不知道如何遍历树。这样我就可以经常检查数据是否已更改。如果它发生了变化,那么我想用我存储在我的 python 字典中的数据更新它,它看起来像:
{'Males': [MyCustomClass('New York', 5000), MyCustomClass('D.C.', 4000)],
'Females': [MyCustomClass('Nashville', 3000), MyCustomClass('San Diego', 7000)],
}
关于如何遍历每个元素(以及每个元素的每一列)并将其与存储的字典值进行比较,有什么想法吗?
您可以使用 QTreeWidgetItemIterator
因为我找不到它的官方 pyqt 文档,像这样的东西应该可以工作:
iterator = QTreeWidgetItemIterator(self.treeWidget)
while iterator.value():
item = iterator.value()
if item.text() == "someText" #check value here
item.setText(column, "text") #set text here
iterator+=1