python - tkinder.TclError 错误事件类型或keysym“key”
问题描述
****我在 raspberry pi 3 b+*** 上运行这个我正在做一个学校项目,并且正在跟随 Tkinter 上的教程,我试图运行我的程序,但它给了我一个错误
我是 pyhton 的菜鸟,所以不太确定
import RPi.GPIO as gpio
import time
import sys
import Tkinter as tk
def init():
gpio.setmode(gpio.BOARD)
gpio.setup(16, gpio.OUT)
gpio.setup(11, gpio.OUT)
gpio.setup(13, gpio.OUT)
gpio.setup(15, gpio.OUT)
def forward(tf):
gpio.output(16, True)
time.sleep(tf)
gpio.cleanup()
def reverse(tf):
gpio.output(16, False)
gpio.cleanup()
def pr(tf):
gpio.output(16, False)
time.sleep(tf)
gpio.cleanup()
def pl(tf):
gpio.output(16, True)
gpio.cleanup()
def tl(tf):
gpio.output(16, True)
gpio.cleanup()
def tr(tf):
gpio.output(16, False)
gpio.cleanup()
def key_input(event):
init()
print "key :", event.char
key_press = event.char
st = 0.030
if key_press.lower() == 'w':
forward(st)
elif key_press.lower() == 's':
reverse(st)
elif key_press.lower() == 'a':
pl(st)
elif key_press.lower() == 'd':
pr(st)
elif key_press.lower() == 'q':
tl(st)
elif key_press.lower() == 'e':
tr(st)
command = tk.Tk()
这里它显示一个错误它说 command.bind('', key_input) file "/usr/lib/python2.7/lib-tk/Tkinder.py", line 1106 in bind return self._bind(('bind', self._W )、sequence、func、add) 文件“/usr/lib/python2.7/lib-tk/Tkinder.py”,绑定中的第 1061 行 return self.tk.call (what + (sequence,cmd) _tkinter .TclError:错误的事件类型或keysym“key”
command.bind('<key>', key_input)
command.pack()
command.mainloop()
它应该打开一个窗口,我可以在其中按任意键并将其作为输入
解决方案
推荐阅读
- asp.net - 使用 F# 和 ASP.NET 启用 CORS
- javascript - 如何优化此计算器中的类型描述?
- python - 通过精确的单词匹配过滤熊猫数据框
- mysql - MySQL:mysqlcheck 占用太多磁盘空间来执行操作
- openshift - 如何使现有 OpenShift 节点成为 GlusterFS 节点?
- php - PHP:如何在 MVC 中使用 mysqli_escape_string?
- ruby-on-rails - Rails 5:如何避免为具有 has_many 关系的单个对象创建多行?
- javascript - 具有可变长度部分的输入掩码
- javascript - 启用按钮后绑定点击事件
- python - 将 Django 版本更新到 1.10