簡體   English   中英

如何在Tkinter中將按鍵綁定到按鈕

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM