Глава 18 · Проект: приложение для рисования
Создаём первое меню (фигуры)
Панель инструментов с кнопками выбора фигуры — и переменные, хранящие текущее состояние.
Создаём первое меню (фигуры)
Панель инструментов — обычный Frame (глава 16) с кнопками,
каждая из которых выбирает свою фигуру:
menu_figur.py
toolbar = tk.Frame(root)
toolbar.pack(side="top", fill="x")
def vybrat_figuru(figura):
global tekuschaya_figura
tekuschaya_figura = figura
tk.Button(toolbar, text="Линия", command=lambda: vybrat_figuru("linia")).pack(side="left")
tk.Button(toolbar, text="Прямоугольник", command=lambda: vybrat_figuru("pryamougolnik")).pack(side="left")
tk.Button(toolbar, text="Овал", command=lambda: vybrat_figuru("oval")).pack(side="left")
Заставляем параметры рисования работать!
Заведём глобальные переменные для текущей фигуры, цвета и толщины линии — их будут менять кнопки панели инструментов и читать функции рисования:
parametry.py
tekuschaya_figura = "linia"
tekuschij_cvet = "black"
tolschina = 3
Прототип: глобальные переменные — не финал архитектуры
Три глобальные переменные легко читать и объяснить, пока приложение маленькое — тот же выбор мы уже видели в первом прототипе крестиков-ноликов (глава 17). Раздел 18.13 покажет, во что это вырастает, когда инструментов, действий и истории становится больше.
Практика: панель инструментов и параметры рисования
Модуль tkinter открывает нативное окно Python — выполните локально в VS Code, PyCharm или Jupyter
Практика выполняется локально