如何通过编程选择单元格并检索Tkinter树视图中的内容?

2024-04-24 02:17:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个Tkinter树视图,我希望通过编程(即用户未选择)在网格中选择一个单元格及其内容。我一辈子都不知道该怎么做,请帮帮我!谢谢


1条回答
网友
1楼 · 发布于 2024-04-24 02:17:13

如果您这样定义树视图:

# Import requrired libraries/packages
from tkinter import Tk, W, NO, ttk, TOP, X

# Create intance of tkinter
root = Tk()

# Create the treeview
tree=ttk.Treeview(root)

# Define columns
tree["columns"]=("one","two","three")
tree.column("#0", width=270, minwidth=270, stretch=NO)
tree.column("one", width=150, minwidth=150, stretch=NO)
tree.column("two", width=400, minwidth=200)
tree.column("three", width=80, minwidth=50, stretch=NO)

# Define headings
tree.heading("#0",text="Name",anchor=W)
tree.heading("one", text="Date modified",anchor=W)
tree.heading("two", text="Type",anchor=W)
tree.heading("three", text="Size",anchor=W)

# Define some rows
# Level 1
folder1=tree.insert("", 1, "", text="Folder 1", values=("23-Jun-17 11:05","File folder",""))
tree.insert("", 2, "", text="text_file.txt", values=("23-Jun-17 11:25","TXT file","1 KB"))
# Level 2
tree.insert(folder1, "end", "", text="photo1.png", values=("23-Jun-17 11:28","PNG file","2.6 KB"))
tree.insert(folder1, "end", "", text="photo2.png", values=("23-Jun-17 11:29","PNG file","3.2 KB"))
tree.insert(folder1, "end", "", text="photo3.png", values=("23-Jun-17 11:30","PNG file","3.1 KB"))

# Packing
tree.pack(side=TOP,fill=X)

root.mainloop()

然后可以检索第一行folder1的值(例如),如下所示:

tree.item(folder1)

输出(valuestext是您感兴趣的键):

{'image': '', 'open': 0, 'tags': '', 'text': 'Folder 1', 'values': ['23-Jun-17 11:05', 'File folder', '']}

因此,只需正确保存每一行的ID,以便以后可以使用它们来检索该行的值

相关问题 更多 >