【问题标题】:Merge nodes in tkinter treeview在 tkinter 树视图中合并节点
【发布时间】:2021-12-14 09:01:42
【问题描述】:

如何合并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()

【问题讨论】:

    标签: python user-interface tkinter treeview ttk


    【解决方案1】:

    您可以使用tree.move() 将“孩子 2”移动到“父母 1”:

    tree.move(child2, 1, 'end')
    

    其中child2 是“孩子 2”的iid

    child2 = tree.insert(2, 0, text='Child 2')
    

    然后删除“父 2”:

    tree.delete(2)
    

    【讨论】:

      猜你喜欢
      • 2020-04-22
      • 2012-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-12
      • 2010-12-08
      相关资源
      最近更新 更多