[英]How to bind a keypress to a button in Tkinter
我的高級項目涉及一個我可以控制wifi的機器人。 我正在使用Raspberry Pi和Tkinter窗口向機器人發送命令。 我有Tkinter窗口的草稿,但是我想知道是否有一種方法可以將按鈕按下綁定到箭頭鍵。 這樣,我可以使用箭頭鍵而不是單擊每個按鈕來控制機器人。 這是我的代碼,我必須添加什么?
碼:
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()
我相信您想要的是將按鍵綁定到框架/功能。 Tkinter擁有自己的事件和綁定處理,您可以在此處進行閱讀。
這是一個簡單的示例,您應該可以修改您的程序。
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()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.