Как определить нажатие клавиши в tkinter? - PullRequest
0 голосов
/ 11 июля 2020

Я делаю игру на python. Я использую Tkinter для модуля, но как вы обнаруживаете нажатие клавиши для движения. вот мой код:

from tkinter import *
import keyboard
main = 1      
root = Tk()      
canvas = Canvas(root, width = 256, height = 415)      
canvas.pack()      
img = PhotoImage(file="Character.png")      
canvas.create_image(20,20, anchor=NW, image=img)
canvas.grid(row=3,column=9)

mainloop()

Спасибо!

1 Ответ

0 голосов
/ 12 июля 2020

используйте функцию bind_all. Предполагая, что tk - ваше окно root, вы используете следующий синтаксис:

tk.bind_all(sequence, function)

или, в реальном коде:

def hi(x = None, y = None, event = None):
    print("Hello there. -Obi Wan Kenobi")

tk.bind_all("<h>", hi)

теперь, когда вы нажимаете кнопку h, " Привет. -Obi Wan Kenobi "будет напечатан в оболочке.

Tkinter также поддерживает более сложные сочетания клавиш.

Для обычных сочетаний клавиш с одной клавишей вы используете клавишу в скобках , как элемент HTML. Но чтобы использовать другие ключи, например shift, вы должны использовать тот же синтаксис, но со всеми клавишами в скобках, разделенными дефисами. Например, для сочетания клавиш Control и f используйте следующий синтаксис: <Ctrl-f. Вы заметите, что Control - это Ctrl. Для Shift используйте Shift. для Alt используйте Alt.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...