Python 如何从tkinter获取标签小部件?

Python 如何从tkinter获取标签小部件?,python,python-3.x,tkinter,Python,Python 3.x,Tkinter,这是我的密码: import tkinter as tk frame = tk.Tk() lbl = tk.Label(frame, text=line) lbl.bind("<Button>", lambda x=lbl, y=frame: delete_and_create(x, y)) 当我尝试执行wid.pack\u forget()时,出现了一个异常: AttributeError: 'Event' object has no attribute '

这是我的密码:

import tkinter as tk

frame = tk.Tk()
lbl = tk.Label(frame, text=line)
lbl.bind("<Button>", lambda x=lbl, y=frame: delete_and_create(x, y))
当我尝试执行
wid.pack\u forget()
时,出现了一个异常:

AttributeError: 'Event' object has no attribute 'pack_forget'
当我尝试打印
wid
时,我得到的是:

<ButtonPress event num=1 x=50 y=10>

也就是说,我没有传输标签小部件(
lbl
),而是将事件
bind
传输到函数
delete\u和\u create


是否有一个用于标签小部件的命令,我可以在其中获取小部件?

正如@Atlas435所说,
tkinter
在调用函数时传递一个事件对象。你的lambda没有考虑到这一点。这就是为什么需要将其更改为
lambda event,x=lbl,y=frame:delete_和_create(x,y)

绑定触发的每个函数都会解析事件对象。请快速研究tkinter和bind。将
lambda x=lbl,y=frame:delete_和_create(x,y)
更改为
lambda,x=lbl,y=frame:delete_和_create(x,y)
这是否回答了您的问题?
<ButtonPress event num=1 x=50 y=10>