0
我有一个项目,我需要在代码中更改树部件的选择。这需要在清除树并重新填充之后完成。set在QTreeWidget中选择
我试图在添加它们时将相应的项目标记为“已选中”。这适用于根级节点。但对于子节点,它不。我需要将QTreeWidgetItem存储在另一个变量中,并在树完全填充后将其标记为选中状态。为什么会发生?
这不起作用:
def refreshTree(self):
treeObj.clear()
for item in items:
temp = QTreeWidgetItem(0)
for key, val in item.subitems().items():
childTemp = QTreeWidgetItem(0)
...setup text, font, etc...
if(condition1):
childTemp.setSelected(True)
temp.addChild(childTemp)
if(!condition1 and condition2):
temp.setSelected(True)
treeObj.addToplevelItem(temp)
这并不:
def refreshTree(self):
treeObj.clear()
for item in items:
temp = QTreeWidgetItem(0)
for key, val in item.subitems().items():
childTemp = QTreeWidgetItem(0)
...setup text, font, etc...
if(condition1):
selTemp = childTemp
temp.addChild(childTemp)
if(!condition1 and condition2):
temp.setSelected(True)
elif(selTemp):
selTemp.setSelected(True)
treeObj.addToplevelItem(temp)
你能告诉我们一些示例代码吗? –
增加了一些代码 –
你可以显示调用'temp.addChild'(和'treeObj.addTopLevelItems')的地方是否与调用'setSelected'有关吗? – alexisdm