Tkinter:将相同的键绑定到不同的小部件

时间:2012-08-24 14:01:30

标签: python widget key tkinter bind

有没有办法将相同的密钥绑定到Tkinter中的两个不同的小部件?

的问候,

雅格布

1 个答案:

答案 0 :(得分:3)

当然有。只需将其绑定到两个不同的小部件即可。

import Tkinter
root = Tkinter.Tk()

def keypress1(event):
    print event.keysym, " key pressed in root"

def keypress2(event):
    print event.keysym, " key pressed in text"

text = Tkinter.Text(root, width=20, height=20)
root.bind("<Return>", keypress1)
text.bind("<Return>", keypress2)
text.pack()

root.mainloop()

当然,事件必须实际发生在两个小部件中。我不确定是否有办法将一个小部件捕获的事件传播到另一个没有捕获它的事件。但是,解决问题的方法可能比传播事件的方式更好;你总是可以在root中抓住这个事件并做你想做的事。