Форум сайта python.su
Всем доброго времени суток, начал кодить на питоне (3.6) относительно недавно, но, так как опыт в программировании имеется, то решил написать самую простецкую “змейку”. Столкнулся с такой проблемой, что не могу найти, каким образом можно перехватывать нажатия клавиш на клавиатуре (до этого делал тоже игру, где всё было завязано на нажатии ЛКМ и ПКМ, реализовал всё достаточно просто через canvas.bind('<Button-1>',“название функции”), а потом уже в самой функции обращался к событию через event.num). Так вот, можно ли сделать что-нибудь наподобие этого?
P.S. (Использую Win10)
Офлайн
Если tk, то можно:
from tkinter import * import string def some_thing_to_do(event): print(event.keysym) if event.keysym in string.ascii_lower_case: dosmthing() root.bind("<KeyPress>", some_thing_to_do) # без вызова, а то функция выполнится в самом начале программы, когда ты создашь root.
# Life loop while alive: if (fun > boredom) and money: pass_day(fun, boredom, money) continue else: break
Офлайн
Спасибо, немного подшаманил и всё получилось.
Хотелось бы ещё узнать, если я могу обращаться к кнопкам на клавиатуре, как <w> или <s>
( root.bind(“<s>”, some_thing_to_do) ), то каким образом обращаться к стрелочкам на клавиатуре?
Отредактировано 0333_z (Дек. 6, 2017 19:07:49)
Офлайн
0333_zhttp://effbot.org/tkinterbook/tkinter-events-and-bindings.htm
то каким образом обращаться к стрелочкам на клавиатуре?
For an ordinary 102-key PC-style keyboard, the special keys are Cancel (the Break key), BackSpace, Tab, Return(the Enter key), Shift_L (any Shift key), Control_L (any Control key), Alt_L (any Alt key), Pause, Caps_Lock, Escape, Prior (Page Up), Next (Page Down), End, Home, Left, Up, Right, Down, Print, Insert, Delete, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, Num_Lock, and Scroll_Lock.
[code python][/code]
Офлайн