在 tkinter 树视图中合并节点
Merge nodes in tkinter treeview
如何在 tkinter
树视图小部件中合并两个节点?
假设您的树视图中有这个简单的结构:
-Parent1
-Child1
-Parent2
-Child2
并且您想合并两个父项以创建以下结构:
-Parent1
-Child1
-Child2
父节点的iid
是已知的。基本上它是将子节点转移到一个父节点到另一个父节点,并删除没有子节点的父节点。 tkinter
中是否有实现的方法,还是您必须自己定义一些东西?
创建基本示例的示例代码:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
tree = ttk.Treeview(
root,
selectmode='browse'
)
tree.insert('', 0, iid=1, text='Parent1')
tree.insert('', 0, iid=2, text='Parent2')
tree.insert(1, 0, text='Child 1')
tree.insert(2, 0, text='Child 2')
tree.pack()
root.mainloop()
您可以使用tree.move()
将'Child 2'移动到'Parent 1':
tree.move(child2, 1, 'end')
其中 child2
是 'Child 2' 的 iid
:
child2 = tree.insert(2, 0, text='Child 2')
然后删除'Parent 2':
tree.delete(2)
如何在 tkinter
树视图小部件中合并两个节点?
假设您的树视图中有这个简单的结构:
-Parent1
-Child1
-Parent2
-Child2
并且您想合并两个父项以创建以下结构:
-Parent1
-Child1
-Child2
父节点的iid
是已知的。基本上它是将子节点转移到一个父节点到另一个父节点,并删除没有子节点的父节点。 tkinter
中是否有实现的方法,还是您必须自己定义一些东西?
创建基本示例的示例代码:
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
tree = ttk.Treeview(
root,
selectmode='browse'
)
tree.insert('', 0, iid=1, text='Parent1')
tree.insert('', 0, iid=2, text='Parent2')
tree.insert(1, 0, text='Child 1')
tree.insert(2, 0, text='Child 2')
tree.pack()
root.mainloop()
您可以使用tree.move()
将'Child 2'移动到'Parent 1':
tree.move(child2, 1, 'end')
其中 child2
是 'Child 2' 的 iid
:
child2 = tree.insert(2, 0, text='Child 2')
然后删除'Parent 2':
tree.delete(2)