Создание настольных приложений с tkinter
Превратите свои навыки Python в окна, кнопки и интерактивные инструменты
tkinter — это встроенный в Python набор инструментов для графических интерфейсов (GUI). Вы описываете окно и виджеты внутри него, привязываете обычные функции Python как обработчики событий и передаёте управление циклу событий, который ждёт кликов и нажатий клавиш. Без установки, без предварительного изучения фреймворка: tkinter поставляется вместе с Python.
- создать главное окно через
tkinter.Tk()и запустить его с помощьюmainloop(), - разместить на нём виджеты
Label,ButtonиEntry, - связать кнопку с функцией Python через
command=, - читать и показывать текст с помощью
Entry.get()иStringVar, - расставлять виджеты с помощью менеджеров компоновки
packиgrid, - собрать небольшое интерактивное приложение, например конвертер единиц или счётчик кликов.
1. Корневое окно и цикл событий
Программа на tkinter всегда начинается с одного корневого окна, создаваемого вызовом tkinter.Tk(). Этот объект — окно верхнего уровня и родитель каждого добавляемого виджета. В самом конце вы вызываете его метод mainloop(), который передаёт управление циклу событий tkinter: бесконечному циклу, который ждёт, пока операционная система сообщит о событии (клик, клавиша, изменение размера), направляет каждое к нужному обработчику, перерисовывает экран и повторяет это до закрытия окна.
import tkinter as tk
root = tk.Tk() # создаём главное окно
root.title("My First App") # текст в заголовке окна
root.geometry("300x120") # ширина x высота в пикселях
label = tk.Label(root, text="Hello, desktop!")
label.pack(padx=20, pady=20) # помещаем на окно
root.mainloop() # запускаем цикл событий (блокирует здесь)
Обратите внимание: mainloop() — последняя строка. Она блокирует: программа останавливается на ней и продолжается дальше только после того, как пользователь закроет окно. Поэтому всё интерактивное должно быть настроено до этого вызова и управляться обработчиками во время него.