Python славится своей простотой и широким спектром библиотек. Для создания графических интерфейсов одним из популярных решений является библиотека Tkinter
, встроенная в стандартную библиотеку Python. Однако стандартный Tkinter визуально устарел и не поддерживает современные интерфейсные тренды. Тут на сцену выходит CustomTkinter — современное расширение Tkinter
, которое позволяет создавать красивые и адаптивные графические интерфейсы.
В этой статье мы рассмотрим возможности CustomTkinter, его установку, ключевые элементы и примеры использования.
Что такое CustomTkinter?
CustomTkinter — это библиотека для создания современного графического интерфейса, построенная поверх Tkinter
. Она использует современные стили оформления (тёмная/светлая тема, закруглённые углы, анимации и др.), сохраняя при этом всю силу и простоту стандартного Tkinter.
Основные преимущества:
-
Поддержка светлой и тёмной темы
-
Стильные виджеты: кнопки, поля ввода, слайдеры, вкладки и т.д.
-
Полная совместимость с обычным Tkinter
-
Простота в использовании
Установка
Для начала работы необходимо установить пакет:
pip install customtkinter
Также рекомендуется использовать Python версии 3.7 или выше.
Пример простого приложения
Создадим минимальное окно с кнопкой:
import customtkinter as ctk
# Установка темы
ctk.set_appearance_mode("Dark") # или "Light"
ctk.set_default_color_theme("blue") # другие: green, dark-blue
# Создание окна
app = ctk.CTk()
app.geometry("400x300")
app.title("Пример на CustomTkinter")
# Кнопка
def click():
print("Нажато!")
btn = ctk.CTkButton(master=app, text="Нажми меня", command=click)
btn.pack(pady=20)
# Запуск
app.mainloop()
Настройка внешнего вида
CustomTkinter позволяет гибко изменять цветовую тему и внешний вид:
ctk.set_appearance_mode("System") # Автоопределение по системе
ctk.set_default_color_theme("green") # можно указать кастомный .json файл
Популярные виджеты
Вот список часто используемых элементов интерфейса:
-
CTkButton — кнопка
-
CTkEntry — поле ввода
-
CTkLabel — текстовая метка
-
CTkCheckBox — чекбокс
-
CTkSwitch — переключатель
-
CTkSlider — слайдер
-
CTkProgressBar — прогресс-бар
-
CTkTabview — вкладки
-
CTkFrame — контейнер для виджетов
Интерактивные темы, которые можно добавить:
Ты можешь выбрать, какие из тем раскрыть дальше. Вот варианты:
-
🎨 Создание пользовательской темы (custom theme)
-
🗂 Работа с вкладками и фреймами
-
🔘 Добавление радиокнопок и чекбоксов
-
⏳ Индикаторы прогресса и загрузки
-
🧩 Интеграция с другими библиотеками (например, matplotlib)
-
💬 Создание модальных окон и диалогов
-
📐 Адаптивная вёрстка с использованием grid и pack
-
🌍 Поддержка мультиязычности интерфейса
Автор: Евгений Морковин
0 комментариев
Оставьте комментарий
Комментарии