Tkinter — это пакет для Python (интерфейс) , с помощью которого можно сделать простой графический интерфейс с помощью виджетов Tk .
Нарисовать окошко, а в нем нужные элементы управления — кнопки, поля ввода, списки и все минимально необходимое для простого приложения.
Элементы могут обрабатывать события — клики, ввод текста. Хранить состояния. Элементы можно стилизовать — менять размеры и цвета.
Преимущества Tkinter
На самом деле говорить о преимуществах Tkinter не совсем правильно. Tkinter — это лишь интерфейс к виджетам Tk. Большая часть преимуществ Tkinter именно в виджетах Tk, а Tkinter лишь предоставляет к ним доступ. Однако говоря о Tkinter я говорю о всей этой GUI платформе в целом.
- простой
- кроссплатформенный (для мака это все работает в том числе)
- Tk идет в комплекте с дистрибутивом Python для Windows
- дизайн приложений выглядит достаточно нативно
- есть нюансы с масштабированием шрифтов
Недостатки Tkinter
В дистрибутиве нет GUI билдера. Строить интерфейс приходится в коде. Есть масса сторонних билдеров но там хватает нюансов.
В Tk есть два набора виджетов tk и ttk. tk стилизуются крайне слабо, а в ttk, например, нет виджета Text (типа textarea, multiline text input). Да и в целом вносит путаницу.
Альтернатива Tkinter
Лично я считаю единственной альтернативой PyQT. Там и виджетов хватает. И PyQT Designer достаточно внятный. Однако работа с PyQT требует дополнительной настройки окружения, ощутимого усложнения приложения и есть вопросы про лицензирование.
Субъективное мнение — для небольших приложений достаточно Tkinter, а для приложений где важен интерфейс лучше выбрать C# и Visual Studio, если речь про Windows
GUI для YouTube Shop
Сегодняшний интерфейс на Tkinter — это продолжение проекта который я делаю публично на своем канале на Youtube. Я делаю приложение которое парсит статический контент с интернет магазина (картинки и текст), генерит из него видео с помощью ffmpeg, генерит обложку для видео и описание. А после загрузки видео на Youtube приложение загружает для него описание, теги и т.д через YouTube API.
Подробности в видео.
Исходники на GitHub в ветке Tkinter.
Полезные ссылки
Доки по Tkinter
Туториал к Tkinter на англ
Если есть вопросы, конструктивная критика, пожелания или советы — можно писать здесь в комментах, в телеграмме, но лучше в комментах к видео на ютюбе — это помогает продвигать видео, а это, в свою очередь, мотивирует делать этот контент. Так что велкаме!