是否可以在tkinter的树视图小部件中重置索引? 使用selection()方法,我获得了当前选定子项的索引(I001,I002 ...)。 使用delete()方法删除了选定的子项,但是,当我向树视图小部件中添加更多数据时,它将对新子项的索引进行计数,就像从未删除过的子项一样。 例如,树视图小部件中唯一的孩子的文本是“ hi”,其索引是I001。我删除它并添加“你好”。 “ hello”的索引将是I002而不是I001(我希望它是I001)。
答案 0 :(得分:0)
没有什么要求您使用自动生成的ID。使用id
参数向树中添加项目时,可以提供自己的ID。您可以使用增加计数器的函数来生成自己的ID。
它看起来像这样:
counter = 0
def next_id():
global counter
counter += 1
return "Item%.4d" % counter
def reset():
global counter
for item in tree.get_children():
tree.delete(item)
counter = 0
...
tree.insert("", "end", id=next_id(), text="this will have id Item0001")
tree.insert("", "end", id=next_id(), text="this will have id Item0002")
...
reset()
tree.insert("", "end", id=next_id(), text="this will have id Item0001")
tree.insert("", "end", id=next_id(), text="this will have id Item0002")
...