【发布时间】:2015-08-17 07:40:31
【问题描述】:
我只是从 python 3.4 中的一个小型 tkinter 树程序开始。
我坚持返回所选行的第一个值。 我有 4 列的多行,我在左键单击一个项目时调用一个函数:
tree.bind('<Button-1>', selectItem)
功能:
def selectItem(a):
curItem = tree.focus()
print(curItem, a)
这给了我这样的东西:
I003 <tkinter.Event object at 0x0179D130>
看起来所选项目已正确识别。 我现在只需要如何获取行中的第一个值。
树创建:
from tkinter import *
from tkinter import ttk
def selectItem():
pass
root = Tk()
tree = ttk.Treeview(root, columns=("size", "modified"))
tree["columns"] = ("date", "time", "loc")
tree.column("date", width=65)
tree.column("time", width=40)
tree.column("loc", width=100)
tree.heading("date", text="Date")
tree.heading("time", text="Time")
tree.heading("loc", text="Loc")
tree.bind('<Button-1>', selectItem)
tree.insert("","end",text = "Name",values = ("Date","Time","Loc"))
tree.grid()
root.mainloop()
【问题讨论】:
-
你能添加创建树的代码吗? (或者如果它太长,则更短但类似)
-
添加了树创建脚本。这不是我的整个程序,而是它的基本部分。
-
好像回调是在树中的焦点改变之前执行的,所以你总是得到之前选择的值。
-
感谢您的建议,这可能是真的,但我遇到的第一个问题仍然是:我如何返回所选行第一列中的值?
标签: python tkinter tree treeview row