在python上还是很新的,我正在学习tkinter。 我想使用键盘事件而不是鼠标事件来进行某些功能。 但是,尽管鼠标事件有效,但键盘事件不起作用。 这是一个非常简单的例子,说明什么是无效的。使用鼠标按钮1并按键盘上的'z键也应该这样做,但键盘什么都不做。我试图阅读tkinter文档,但没有找到答案。
感谢您的帮助
from tkinter import *
class Pipi(Frame):
def __init__(self,master=None):
Frame.__init__(self,width=400,height=400,bg='red')
self.pack()
self.bind("<z>",self.do)
self.bind("<Button-1>", self.do)
def do(self,event):
print('la vie est belle')
root=Tk()
Pipi(root)
root.mainloop()
答案 0 :(得分:2)
这是因为Frame
窗口小部件没有焦点。随着鼠标事件,它的工作看似不同。可能有几种解决方法:
要实现第一个,只需添加:
self.focus_set()
__init__
内的某处。
要实现第二个,请替换:
self.bind("<z>",self.do)
使用:
self.master.bind('<z>', self.do)