Всем привет, решил сделать серию статей про Kivy и KivyMD. Я не UI разработчик, я просто умею делать приложения с помощью kivy.
Не надо ожидать того, что после этих статей вы сходу сделаете UI круче чем у google, vk и других приложений-гигантов.
Но одно я пообещать точно могу, приложения будут .
Начнём!
KivyMD - набор виджетов в стиле Google Material Design для kivy
UI - пользовательский интерфейс
Сначала установим зависимости:
Если у вас python 3.5+, то так же
Установим kivy.
Linux:
Тут проблем не должно возникнуть.
Так же в следующей части мы сделаем полноценное приложение, может даже попробуем его скомпилировать под какую-нибудь OC.
Тут всё просто, создаём класс MainApp, который наследует класс App, переопределяем метод build, возвращаем кнопку.
Запустите код, если у вас появится кнопка на весть экран как на фото, то мои поздравления, вы установили kivy.
Стоит разобрать виджет button(класс Button), по умолчанию, он занимаёт 100 % от доступного ему места по оси x(за это отвечает size_hint_x) и по оси y (за это отвечает size_hint_y). Давайте попробуем сделать 2 вещи:
1) Сделаем так, чтобы кнопка занимала 100 % от ширины(ось x) и 50 % от высоты(ось y).
Или проще:
2)
Поставим кастомный размер.
Чтобы сделать это, сначала нам нужно поставить size_hint_x и size_hint_y на None, и задать атрибут size.
Не надо ожидать того, что после этих статей вы сходу сделаете UI круче чем у google, vk и других приложений-гигантов.
Но одно я пообещать точно могу, приложения будут .
Начнём!
Коротко о каждом
Kivy - python фреймворк который позволяет создавать кроссплатформенные приложения.KivyMD - набор виджетов в стиле Google Material Design для kivy
Чтобы не оставалось вопросов
Виджет - это небольшой вспомогательный элемент/компонент приложения(например кнопка), которое выполняет определенную функциюUI - пользовательский интерфейс
Установка kivy
Windows:
Ссылка скрыта от гостей
Ссылка на туториал от kivy для windows(прочитайте если есть проблемы с установкой или если хотите узнать большее)Сначала установим зависимости:
Код:
python -m pip install docutils pygments pypiwin32 kivy_deps.sdl2==0.1.* kivy_deps.glew==0.1.*
python -m pip install kivy_deps.gstreamer==0.1.*
Код:
python -m pip install kivy_deps.angle==0.1.*
Код:
python -m pip install kivy
Linux:
Тут проблем не должно возникнуть.
Код:
sudo apt update
sudo apt install python3-kivy
Первое приложение
Чтобы создать kivy приложение вам нужно:- создать класс приложения(в нашем случае MainApp) который наследует kivy класс App
- переопределить метод build, этот метод возвращает root виджет(т.е главный виджет), потом приложение его(root виджет) рисует/отображает.
Так же в следующей части мы сделаем полноценное приложение, может даже попробуем его скомпилировать под какую-нибудь OC.
Python:
from kivy.app import App
from kivy.uix.button import Button
class MainApp(App):
def build(self):
button = Button(text='The first app', size_hint_x=1, size_hint_y=1)
return button
MainApp().run()
Тут всё просто, создаём класс MainApp, который наследует класс App, переопределяем метод build, возвращаем кнопку.
Запустите код, если у вас появится кнопка на весть экран как на фото, то мои поздравления, вы установили kivy.
Стоит разобрать виджет button(класс Button), по умолчанию, он занимаёт 100 % от доступного ему места по оси x(за это отвечает size_hint_x) и по оси y (за это отвечает size_hint_y). Давайте попробуем сделать 2 вещи:
1) Сделаем так, чтобы кнопка занимала 100 % от ширины(ось x) и 50 % от высоты(ось y).
Код:
button = Button(text='The first app', size_hint_y=.5, size_hint_x=1)
Код:
button = Button(text='The first app', size_hint=(1, .5))
Поставим кастомный размер.
Чтобы сделать это, сначала нам нужно поставить size_hint_x и size_hint_y на None, и задать атрибут size.
Код:
button = Button(text='The first app', size_hint=(None, None), size=(200, 200))
Ссылки
-
Ссылка скрыта от гостей- документация по компонентам
-
Ссылка скрыта от гостей- официальный сайт kivy
- kivy/kivy - github kivy
- kivymd/KivyMD - github KivyMD
Последнее редактирование: