Tkinter#
Tkinter — это стандартная библиотека Python для создания графических пользовательских интерфейсов (GUI). Она входит в состав Python, поэтому её не нужно устанавливать отдельно. Tkinter предоставляет простой и удобный способ создания окон, кнопок, текстовых полей и других элементов интерфейса.
Установка Tkinter#
Tkinter обычно уже установлен вместе с Python. Однако, если вы используете Linux, может потребоваться установка дополнительных пакетов:
sudo apt install python3-tk
Простое приложение на Tkinter#
Пример: Окно с кнопкой и текстовой меткой
import tkinter as tk
# Создаём главное окно
root = tk.Tk()
root.title("Пример Tkinter")
root.geometry("300x200") # Устанавливаем размер окна
# Создаём текстовую метку
label = tk.Label(root, text="Привет, Tkinter!")
label.pack(pady=20) # Размещаем метку в окне
# Функция, которая будет вызвана при нажатии на кнопку
def on_button_click():
label.config(text="Кнопка нажата!")
# Создаём кнопку
button = tk.Button(root, text="Нажми меня", command=on_button_click)
button.pack(pady=10) # Размещаем кнопку в окне
# Запускаем главный цикл обработки событий
root.mainloop()
Объяснение кода#
Импорт библиотеки:
import tkinter as tk
Мы импортируем библиотеку tkinter и используем псевдоним tk для удобства.
Создание главного окна:
root = tk.Tk()
root.title("Пример Tkinter")
root.geometry("300x200")
Tk() создаёт главное окно приложения.
title() задаёт заголовок окна.
geometry() устанавливает размер окна (ширина x высота).
Создание текстовой метки:
label = tk.Label(root, text="Привет, Tkinter!")
label.pack(pady=20)
Label() создаёт текстовую метку.
pack() размещает метку в окне. Параметр pady добавляет отступ сверху и снизу.
Создание кнопки:
button = tk.Button(root, text="Нажми меня", command=on_button_click)
button.pack(pady=10)
Button() создаёт кнопку.
command указывает функцию, которая будет вызвана при нажатии на кнопку.
Функция обработки нажатия кнопки:
def on_button_click():
label.config(text="Кнопка нажата!")
Эта функция изменяет текст метки при нажатии на кнопку.
Запуск главного цикла:
root.mainloop()
mainloop() запускает главный цикл обработки событий, который позволяет окну оставаться открытым.
Основные элементы Tkinter#
Виджеты (Widgets)
Label: Текстовая метка.
Button: Кнопка.
Entry: Однострочное текстовое поле.
Text: Многострочное текстовое поле.
Frame: Контейнер для других виджетов.
Checkbutton: Флажок.
Radiobutton: Переключатель.
Listbox: Список.
Scrollbar: Полоса прокрутки.
Методы размещения
pack(): Автоматическое размещение виджетов.
grid(): Размещение виджетов в таблице.
place(): Размещение виджетов по координатам.