【发布时间】:2018-02-12 19:23:48
【问题描述】:
我有以下代码可以打印并在entry 小部件中插入选定的treeview 行,但在如何执行此操作时遇到了挑战。我的List profile 无法在treeview 中正确显示内容,我希望年份出现在指定为与月份相同的列下。
当我选择行时,它会将('end',) 打印到我的终端,并在我的entry 小部件中插入end,而不是在选定的小部件中。
from tkinter import *
from tkinter import ttk
profile = [("2012", "JANUARY"),
("2013", "FEBRUARY"),
("2014", "MARCH"),
("2015", "APRIL"),
("2016", "MAY")
]
def content(event):
print(tree.selection()) # this will print the row inserted
for nm in tree.selection():
e1.insert(END, nm)
e2.insert(END, nm)
root = Tk()
tree = ttk.Treeview(root, columns=("columns1","columns2" ), show="headings",
selectmode="browse")
tree.heading("#1", text="YEAR")
tree.heading("#2", text="MONTH")
tree.insert("", 1, END, values=profile)
tree.bind("<<TreeviewSelect>>", content)
tree.pack()
e1 = Entry(root)
e1.pack()
e2 = Entry(root)
e2.pack()
root.mainloop()
【问题讨论】: