如何判断Tkinter中哪个组件触发了事件?

2 投票
1 回答
2052 浏览
提问于 2025-04-16 03:54

我有几个小部件都连接到同一个函数上。请问我怎么知道是哪个小部件触发了这个函数的调用呢?

1 个回答

7

这个事件有一个小工具字段,可以帮助你区分哪个小工具是事件的来源:

from Tkinter import *

class MyObj:
    def callback(self, event):
        print event.widget.message

obj = MyObj()
root = Tk()
btn=Button(root, text="Click")
btn.bind('<Button-1>', obj.callback)
btn.pack()
btn.message = 'Hello'

btn2=Button(root, text="Click too")
btn2.bind('<Button-1>', obj.callback)
btn2.message = 'Salut'
btn2.pack()

root.mainloop()

撰写回答