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