我的高级项目涉及一个我可以通过 WiFi 控制的机器人。我使用 Raspberry Pi 和 Tkinter 窗口向机器人发送命令。我有 Tkinter 窗口的草稿,但我想知道是否有办法将按钮按下绑定(bind)到箭头键。这样我就可以使用箭头键来控制机器人,而不是单击每个按钮。这是我的代码,我需要添加什么?
代码:
from Tkinter import *
message = ""
class App:
def __init__(self, master):
frame=Frame(master)
frame.grid()
status = Label(master, text=message)
status.grid(row = 0, column = 0)
self.leftButton = Button(frame, text="<", command=self.leftTurn)
self.leftButton.grid(row = 1, column = 1)
self.rightButton = Button(frame, text=">", command=self.rightTurn)
self.rightButton.grid(row = 1, column = 3)
self.upButton = Button(frame, text="^", command=self.upTurn)
self.upButton.grid(row = 0, column = 2)
self.downButton = Button(frame, text="V", command=self.downTurn)
self.downButton.grid(row=2, column = 2)
def leftTurn(self):
message = "Left"
print message
def rightTurn(self):
message = "Right"
print message
def upTurn(self):
message = "Up"
print message
def downTurn(self):
message = "Down"
print message
root = Tk()
root.geometry("640x480")
root.title("Rover ")
app = App(root)
root.mainloop()
最佳答案
我相信你想要的是将按键绑定(bind)到框架/功能。 Tkinter 有自己的内置事件和绑定(bind)处理,您可以阅读 here .
这是一个简单的示例,您应该能够调整您的程序。
from tkinter import *
root = Tk()
def yourFunction(event):
print('left')
frame = Frame(root, width=100, height=100)
frame.bind("<Left>",yourFunction) #Binds the "left" key to the frame and exexutes yourFunction if "left" key was pressed
frame.pack()
root.mainloop()
关于python - 如何将按键绑定(bind)到 Tkinter 中的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20832909/