gpt4 book ai didi

python - 在 TreeView Tkinter 中删除和编辑项目

转载 作者:太空狗 更新时间:2023-10-29 21:45:56 24 4
gpt4 key购买 nike

我想在 Tkinter 的 TreeView 中删除一行。

我知道这个方法:

def delButton(self):
x = main.tree.get_children()
for item in x:
main.tree.delete(item)

删除整棵树。但我只想删除一行。我该怎么做?

此外,我还想知道如何编辑 TreeView 行。

最佳答案

您并没有删除整棵树,您只是删除了根项中的所有子项,因为您对迭代中的每个项都使用了删除。您可以使用 if 语句来确定您想要的项目,或者您可以使用 selected_item = tree.selection()[0] 获取所选项目并将其删除。使用 .item() 方法,您可以完全访问要修改的项目。示例:

from Tkinter import Tk, Button
import ttk


root = Tk()

tree = ttk.Treeview(root)

tree["columns"]=("one","two")
tree.column("one", width=100 )
tree.column("two", width=100)
tree.heading("one", text="coulmn A")
tree.heading("two", text="column B")

tree.insert("" , 0, text="Line 1", values=("1A","1b"))

id2 = tree.insert("", 1, "dir2", text="Dir 2")
tree.insert(id2, "end", "dir 2", text="sub dir 2", values=("2A","2B"))

##alternatively:
tree.insert("", 3, "dir3", text="Dir 3")
tree.insert("dir3", 3, text=" sub dir 3",values=("3A"," 3B"))

def edit():
x = tree.get_children()
for item in x: ## Changing all children from root item
tree.item(item, text="blub", values=("foo", "bar"))

def delete():
selected_item = tree.selection()[0] ## get selected item
tree.delete(selected_item)

tree.pack()
button_del = Button(root, text="del", command=delete)
button_del.pack()
button_del = Button(root, text="edit", command=edit)
button_del.pack()

root.mainloop()

关于python - 在 TreeView Tkinter 中删除和编辑项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32511843/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com