gui
May 17, 2023

Некорявый tkinter -  ttkbootstrap

Часть 2

Продолжаем тему модернизации графического интерфейса tkinter. Первая часть здесь>>

ttkbootstrap - радикальная модернизация tkinnter

Это, видимо, самая существенная модернизация для tkinter, сделанная под влиянием современного css фреймворка bootstrap. Пакет использует цветовые схемы из проекта bootstrap. В результате отрисовка интерфейса приблизилась к спецификации Material Design и внешнему виду современных веб приложений. Кроме того поддерживаются как тёмные, так и светлые темы

Установка через pip:

pip install ttkbootstrap

Запуск demo приложения:

python -m ttkbootstrap

После привычного интерфейса tkitner, выглядит всё это довольно современно. Старые виджеты получили новые свойства. Так, например, теперь у кнопок появились варианты цвета по умолчанию, виджет checkbutton получил два новых потомка - roundedtoggle и squaredtoggle.

Для хранения тем используется собственный формат описания стилей (структура данных для описания стиля использует json).

Новые виджеты

Помимо модернизации стандартных виджетов, ttkbootstrap расширяет библиотеку новыми виджетами.

Здесь сделано довольно много. Среди новых виджетов можно найти meter widget для отображения и ввода данных с помощью круглого циферблата, календарь для ввода дат, color picker, и table view.

Тестовая программа для table view

Редактор стилей

И, наконец, теперь можно создавать свои собственные цветовые варианты с помощью визуального редактора.

python -m ttkcreator

Вместо заключения

Во время написания небольшого тестового приложения вот что выяснилось. Ttkthemes и ttkbootstrap позволяют добавлять темы к готовому приложению с минимальными изменениями кода. Потребуется добавить только пару строк кода для задания темы. Но вот программные интерфейсы у них все-таки слегка разные, так что одновременно использовать эти два комплекта тем можно, но довольно неудобно.

Если вы хотите использовать дополнительные виджеты из ttkbootstrap, то в этом случае вы потеряете совместимость со стилями ttkthemes.