根据你提供的信息,可能是由于`event.num`在某些键盘事件中无法识别或解析特定的键。因此,打印出双问号“??”。
为了确保你能正确地捕获到事件并理解其信息,可以尝试使用其它属性,例如 `event.keysym` 来替代 `event.num`。`event.keysym`会给出具体按键的符号名称,这样可以更直观地查看到具体是什么键。
以下是修改后的代码:
from tkinter import *
root = Tk()
def callback(event):
print(event.keysym)
frame = Frame(root, width=200, height=200)
frame.bind('<Key>', callback) # 捕获键盘事件
frame.focus_set() # 使frame获得键盘焦点
frame.pack()
mainloop()
这样,当你按下键盘上的一个键时,`event.keysym` 会打印出对应的键符号。
如果你仍然希望继续使用 `event.num`,请检查以下几点:
1. 确保你按下的是鼠标按键,而不是键盘按键。
2. 使用 `frame.bind('<Button>', callback)` 来捕获鼠标按键事件。
from tkinter import *
root = Tk()
def callback(event):
print(event.num)
frame = Frame(root, width=200, height=200)
frame.bind('<Button>', callback) # 捕获鼠标按键事件
frame.focus_set() # 使frame获得键盘焦点
frame.pack()
mainloop()
通过这种方式,你可以捕获鼠标按键点击的事件,并正确打印出按键的数字编号。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |