Добавить в корзинуПозвонить
Найти в Дзене
Программы от меня

Python + KivyMD: Хватит делать уродские окна! Делаем интерфейс, за который не стыдно

Признавайтесь честно. Когда вы показываете другу своё приложение на Python с интерфейсом на Tkinter, он делает такое лицо, будто вы показали ему фотографию своего первого сайта на Geocities из 1998 года? Серые прямоугольники, кнопки из прошлого века, а шрифты напоминают матричный принтер? Успокойтесь, всё в порядке. Вы просто не знали про KivyMD. Это библиотека, которая превращает вашего «питона» в нечто, похожее на современный мобильный или десктопный интерфейс в стиле Google Material Design. Тот самый, где кнопки прыгают, поля ввода светятся, а анимации заставляют пальцы чесаться. В этой статье я научу вас, как за 5 минут сделать из «серого мыша» приложение, которое захочется показывать даже на собеседовании. Поехали на лифте в мир красоты! А Kivy (и его надстройка KivyMD) — это как Lego для взрослых. Вы просто берете готовые виджеты: MDRectangleFlatButton, MDTextField, MDCard. И они уже умеют красиво летать, светиться и адаптироваться под любой экран. Открываем терминал. Если у вас
Оглавление

Как подружить Python с модным дизайном? KivyMD вам в помощь!

Признавайтесь честно. Когда вы показываете другу своё приложение на Python с интерфейсом на Tkinter, он делает такое лицо, будто вы показали ему фотографию своего первого сайта на Geocities из 1998 года? Серые прямоугольники, кнопки из прошлого века, а шрифты напоминают матричный принтер?

Успокойтесь, всё в порядке. Вы просто не знали про KivyMD.

Это библиотека, которая превращает вашего «питона» в нечто, похожее на современный мобильный или десктопный интерфейс в стиле Google Material Design. Тот самый, где кнопки прыгают, поля ввода светятся, а анимации заставляют пальцы чесаться.

В этой статье я научу вас, как за 5 минут сделать из «серого мыша» приложение, которое захочется показывать даже на собеседовании. Поехали на лифте в мир красоты!

Почему не Tkinter или PyQT? (Спойлер: потому что страшно)

  • Tkinter — это «бабушкин сундук». Он работает всегда и везде, но выглядит так, будто его проектировали в далеком 1995-м под действием валерьянки.
  • PyQT — мощно, но платно для коммерции и весит как чугунный мост.

А Kivy (и его надстройка KivyMD) — это как Lego для взрослых. Вы просто берете готовые виджеты: MDRectangleFlatButton, MDTextField, MDCard. И они уже умеют красиво летать, светиться и адаптироваться под любой экран.

Ставим всё это без слёз (минута лирики)

Открываем терминал. Если у вас Windows — не бойтесь, чуда не случится.

pip install kivy kivymd

Всё. Серьезно. Всё. Пока вы читали эту строчку, библиотеки уже скачались. Жизнь прекрасна.

«Hello, World» по-взрослому: Ваша первая красивая кнопка

Забудьте про print("Hello") в консоли. Сделаем кнопку, на которую хочется нажать, даже если не нужно.

python

Запускаем. Видите? Кнопка ровно по центру, имеет приятный оттенок, текст читается. Это не Tkinter с его квадратными углами. Это уже похоже на нормальное приложение.

-2

Как сделать реально красиво? Секретные фишки KivyMD

1. Меняем тему за секунду

Хотите тёмную тему как в Telegram? Пожалуйста! Добавьте в начало класса:

-3

Теперь ваше приложение — настоящий денди. Фиолетовые акценты на тёмном фоне. Ммм, эстетика.

-4

2. Поля ввода с плавающей подписью

Сделаем форму входа в стиле современных веб-сайтов:

-5

Обязательно добавим в начале файла

from kivymd.uix.textfield import MDTextField

а перед return:
screen.add_widget(login_field)

Иконка внутри поля, подсказка при нажатии — это выглядит так дорого, будто вы нанимали UI/UX-дизайнера за $5000.

-6

3. Карточки и списки (как в Pinterest)

Хотите показать список товаров или статей? Используйте MDCard:

1. Добавляем вначале:

from kivymd.uix.card import MDCard
from kivymd.uix.label import MDLabel

2. Далее:

-7

3. Получаем результат:

-8


Это уже не «программа для бухгалтерии», а медийный продукт.

Где это всё использовать? (А да везде!)

  • Свои pet-проекты: Чтобы было не стыдно выложить на GitHub.
  • Быстрые прототипы: Клиенту можно показать интерфейс сразу, не верстая на React за 2 дня.
  • Десктопные утилиты: Сделайте красивый парсер Excel-таблиц или органайзер, который не вызывает тошноту.
  • Мобильные приложения: Kivy умеет компилироваться в APK для Android. Да, вы правильно поняли. Вы можете написать мобильное приложение на чистом Python! (Это тема для отдельной статьи, подпишитесь, чтобы не пропустить).

-9

Минусы (куда без ложки дёгтя)

Скажу честно, чтобы вы не думали, что я вру:

  • Размер приложения: Даже «пустышка» весит 30-40 МБ из-за зависимостей.
  • Стиль «материал дизайн»: Если вам нужно строгое Windows-приложение со скучными таблицами, KivyMD будет выглядеть чужеродно.

Но для 99% креативных и стартап-задач — это лучшее, что случилось с Python-графикой за последние годы.

Что делать прямо сейчас?

  1. Скопируйте первый пример с кнопкой.
  2. Замените "Нажми меня" на "Погладь кота".
  3. Запустите и почувствуйте себя художником.

Потом добавьте тёмную тему, потом — экран входа, потом — несколько окон. Через пару дней вы уже не сможете смотреть на Tkinter без содрогания.

А вы уже пробовали Kivy или KivyMD? Или всё ещё мучаете старый добрый Tkinter? Напишите в комментариях, какой интерфейс был самым страшным в вашей жизни. Самый эпичный комментарий закреплю в следующей статье!