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(): Размещение виджетов по координатам.