我在python2.7中成功地运行了这一点,并在一台Macbook中使用Pycharm IDE。我按向上箭头键,事件.char不为null,它可以打印出某些内容。然而,在其他Macbook或windows系统中,当我按下不是字母的键时,它不能打印出任何东西,我看到的只是“press:”。当我按字母键时,它工作得很好,它会打印出像“press:A”这样的字母。任何想法都是值得赞赏的。在
#
from Tkinter import *
#Entry
def printkey(event):
print('press:' + event.char)
#
root = Tk()
#input
entry = Entry(root)
#
entry.bind('<Key>', printkey)
#
entry.pack()
root.mainloop()
在您的代码中,
event
是一个Tkinter事件对象。此对象有一个简短的属性列表,其中两个属性与键盘事件有关(仅限):char
:是密钥代码的单个字符串keysym
:一个字符串,是密钥的符号名后一个显然是你要找的。在
您可以在这里找到a list enumerating the keysyms that will be recognized by Tk。在
此
event
Tkinter对象的其他attributes:num
:按钮编号(仅适用于鼠标按钮事件);1及以上x
,y
:鼠标相对于小部件左上角的位置,以像素为单位x_root
,y_root
:鼠标相对于屏幕左上角的位置,以像素为单位widget
:发生事件的小部件。在所以你的代码应该是这样的:
char
仅当按下的键对应于字符时才包含值。如果没有,则需要打印或翻译其他属性之一,例如keysym
。在相关问题 更多 >
编程相关推荐