Python “无法打印”;event.char“;使用Tkinter
我在Python2.7中使用Pycharm IDE在一台Macbook中成功地运行了这个程序。我按下向上箭头键,event.char不为空,它可以打印出一些东西。然而,在另一个Macbook或windows系统中,当我按下非字母键时,它无法打印出任何内容,我看到的只是“按:”。当我按下字母键时,它工作得很好,它会打印出字母,比如“press:A”。任何想法都值得赞赏Python “无法打印”;event.char“;使用Tkinter,python,tkinter,Python,Tkinter,我在Python2.7中使用Pycharm IDE在一台Macbook中成功地运行了这个程序。我按下向上箭头键,event.char不为空,它可以打印出一些东西。然而,在另一个Macbook或windows系统中,当我按下非字母键时,它无法打印出任何内容,我看到的只是“按:”。当我按下字母键时,它工作得很好,它会打印出字母,比如“press:A”。任何想法都值得赞赏 # from Tkinter import * #Entry def printkey(event): prin
#
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()
#
从Tkinter进口*
#入口
def打印密钥(事件):
打印('press:'+event.char)
#
root=Tk()
#输入
条目=条目(根)
#
entry.bind(“”,printkey)
#
entry.pack()
root.mainloop()
char
仅当按下的键对应于一个字符时才包含一个值。如果没有,则需要打印或转换其他属性之一,例如代码中的keysym
,event
是Tkinter事件对象。此对象有一个简短的属性列表,其中有两个与键盘事件相关(仅限):
:作为键代码的单个字符串char
:作为键符号名的字符串keysym
事件的其他Tkinter对象:
num
:按钮编号(仅适用于鼠标按钮事件);1岁及以上
x
,y
:鼠标相对于小部件左上角的位置,以像素为单位
x_root
,y_root
:鼠标相对于屏幕左上角的位置,以像素为单位
小部件
:发生事件的小部件
因此,您的代码现在应该如下所示:
from Tkinter import *
#Entry
def printkey(event):
print('press:' + event.keysym)
#
root = Tk()
#input
entry = Entry(root)
#
entry.bind('<Key>', printkey)
#
entry.pack()
root.mainloop()
从Tkinter导入*
#入口
def打印密钥(事件):
打印('press:'+event.keysym)
#
root=Tk()
#输入
条目=条目(根)
#
entry.bind(“”,printkey)
#
entry.pack()
root.mainloop()
您可以使用event.keysym