| |
|
51 |
===Обработка нажатий на клавиатуру===
|
| |
|
52 |
%%(code)
|
| |
|
53 |
# Написать функцию, обрабатывающую нажатие на клавишу
|
| |
|
54 |
def key_q_pressed(event):
|
| |
|
55 |
print("Pressed Q")
|
| |
|
56 |
|
| |
|
57 |
def key_left_pressed(event):
|
| |
|
58 |
print("Pressed Left")
|
| |
|
59 |
|
| |
|
60 |
# Теперь повесим обработку события нажатия на клавишу на вызов функции
|
| |
|
61 |
root.bind("q", key_q_pressed)
|
| |
|
62 |
root.bind("<Left>", key_left_pressed)
|
| |
|
63 |
%%
|
| |
|
64 |
|
| |
|
65 |
===Обработка событий мыши===
|
| |
|
66 |
%%(code)
|
| |
|
67 |
def left_button_clicked(event):
|
| |
|
68 |
print(event.x, event.y)
|
| |
|
69 |
|
| |
|
70 |
root.bind("<Button-1>", left_button_clicked)
|
| |
|
71 |
%%
|
| |
|
72 |
|
| |
|
78 |
===Как создать прямоугольник===
|
| |
|
79 |
%%(code)
|
| |
|
80 |
rect = canvas.create_rectangle(x0, y0, x1, y1) - возвращает объект "прямоугольник"
|
| |
|
81 |
%%
|
| |
|
82 |
|
| |
|
83 |
===Как удалить объект на canvas===
|
| |
|
84 |
%%(code)
|
| |
|
85 |
canvas.delete(rect) # передаваемый параметр - ссылка на удаляемый объект
|
| |
|
86 |
%%
|
| |
|
87 |
|
| |
|
88 |
===Как изменить цвет объекта на canvas===
|
| |
|
89 |
%%(code)
|
| |
|
90 |
canvas.itemconfig(rect, fill="blue") # передаваемый параметр - ссылка на объект, цвет которого меняется
|
| |
|
91 |
%%
|
| |
|
92 |
|
| |
|
93 |
===Документация===
|
| |
|
94 |
http://effbot.org/tkinterbook/
|
| |
|
95 |
http://python-textbok.readthedocs.io/en/1.0/Introduction_to_GUI_Programming.html
|
| |
|
96 |
http://cipcnet.insa-lyon.fr/tcc/help/pubs/tkinter/
|
| |
|
97 |
|
| |
|
98 |
===Что можно писать?===
|
| |
|
99 |
|
| |
|
100 |
* Арканоид
|
| |
|
101 |
* Pong (теннис)
|
| |
|
102 |
* Крестики-нолики с силой тяжести
|
| |
|
103 |
* Змейка
|
| |
|
104 |
* Сапёр
|
| |
|
105 |
* Игра "Жизнь"
|
| |
|
106 |
* Реверси
|
| |
|
107 |
* Xonix
|
| |
|
108 |
|