Python tkinter treeview从选定项返回iid
在Python tkinter treeview中,我试图根据所选treeview项的iid显示某些内容,它发生在选择事件(鼠标单击)上,但我无法实现这一点:Python tkinter treeview从选定项返回iid,python,tkinter,tree,treeview,Python,Tkinter,Tree,Treeview,在Python tkinter treeview中,我试图根据所选treeview项的iid显示某些内容,它发生在选择事件(鼠标单击)上,但我无法实现这一点: def tree_click_event (event): iid = treedisplay.identify(event.x,event.y) treedisplay = ttk.Treeview(root,selectmode='browse') treedisplay.bind('<<TreeviewSele
def tree_click_event (event):
iid = treedisplay.identify(event.x,event.y)
treedisplay = ttk.Treeview(root,selectmode='browse')
treedisplay.bind('<<TreeviewSelect>>', tree_click_event)
treedisplay.pack(side='top', fill='both', expand=1)
这可以简化为创建树,将其打包到tkinter窗口中,寻找熟悉此模块的人,以确切了解我做错了什么
感谢您的示例@BryanOakley,它可以获得项目的文本。但是没有办法让下面的代码正常工作吗
import tkinter as tk
from tkinter import ttk
class App:
def __init__(self):
self.root = tk.Tk()
self.tree = ttk.Treeview()
self.tree.pack(side="top", fill="both")
self.tree.bind("<<TreeviewSelect>>", self.tree_click_event)
for i in range(10):
self.tree.insert("", "end", text="Item %s" % i)
self.root.mainloop()
def tree_click_event(self, event):
iid = self.tree.identify(event.x,event.y)
print (iid)
if __name__ == "__main__":
app = App()
将tkinter作为tk导入
从tkinter导入ttk
类应用程序:
定义初始化(自):
self.root=tk.tk()
self.tree=ttk.Treeview()
self.tree.pack(side=“top”,fill=“both”)
self.tree.bind(“,self.tree\u click\u事件)
对于范围(10)内的i:
self.tree.insert(“,“end”,text=“项目%s”%i)
self.root.mainloop()
def树单击事件(自身,事件):
iid=自我树识别(事件x、事件y)
打印(iid)
如果名称=“\uuuuu main\uuuuuuuu”:
app=app()
需要三个参数,您只需传递两个参数。第一个参数表示要标识的组件,并且必须是以下组件之一:区域、项、列、行或元素
例如:
iid = treedisplay.identify("item", event.x,event.y)
注意:虽然上面的语法是正确的,但它不会像你认为的那样。在
事件中,您将无法获得x和y坐标。这是因为键盘和鼠标事件都可以触发事件。identify
方法应用于鼠标事件的显式绑定,并且主要仅用于低级绑定
如果需要所选项目,请使用选择
方法,该方法将返回项目ID列表:
for item in treedisplay.selection():
item_text = self.tree.item(item,"text")
需要三个参数,您只传递了两个。第一个参数表示要标识的组件,并且必须是以下组件之一:区域、项、列、行或元素
例如:
iid = treedisplay.identify("item", event.x,event.y)
注意:虽然上面的语法是正确的,但它不会像你认为的那样。在
事件中,您将无法获得x和y坐标。这是因为键盘和鼠标事件都可以触发事件。identify
方法应用于鼠标事件的显式绑定,并且主要仅用于低级绑定
如果需要所选项目,请使用选择
方法,该方法将返回项目ID列表:
for item in treedisplay.selection():
item_text = self.tree.item(item,"text")
我在这里收到了答案:?我在这里收到了答案:?