Глава 18 · Финальные штрихи

Строка состояния

Инструмент, координаты, цвет и толщина — сразу видны, без необходимости лезть в код.

Одна строка — четыре факта сразу

Реальное окно: строка состояния внизу окна показывает инструмент, координаты курсора, текущий цвет и толщину
Реальное окно: строка состояния под холстом — инструмент, координаты, цвет, толщина.
stroka_sostoyaniya.py
def _update_status(self, x, y):
    coords = f"x={x} y={y}" if x is not None else "x=— y=—"
    self.status_var.set(
        f"Инструмент: {TOOL_LABELS[self.state.tool]} | {coords} | "
        f"Цвет: {self.state.color} | Толщина: {self.state.width}"
    )

Строка обновляется в трёх разных местах: при смене инструмента, при движении мыши (<Motion>) и при выборе цвета или толщины — везде, где меняется хотя бы одно из четырёх значений.

Живое доказательство пользы event.x / event.y
Координаты курсора — не абстракция «где-то в коде»: строка состояния делает их видимыми в реальном времени, буквально на каждое движение мыши. Это тот же event.x/event.y, который используют on_press/on_drag для самого рисования.
Практика: строка состояния приложения
Модуль tkinter открывает нативное окно Python — выполните локально в VS Code, PyCharm или Jupyter
Практика выполняется локально
Открыть практику →