Учебник Kivy Python: создавайте привлекательные мобильные приложения на Python!

В этом руководстве по Kivy Python вы узнаете, как использовать Kivy для Python. разработка приложений. К концу вы поймете, как начать создавать кроссплатформенные приложения для Android, iOS и Windows с использованием Python.


Python — мощный, гибкий и начинающий дружественный язык программирования, который быстро превратился в один из самых популярных вариантов для разработчиков. Но хотя Python приветствует новичков и достаточно гибок для профессионалов, чтобы получить от него максимум, обычно требуется небольшая помощь.

Также прочтите: Как сделать игра на Python: введение в Pygame

То есть не так много всего, что вы можете построить с помощью Python из коробки. Если вы хотите создать игру, вам понадобится модуль Pygame. Если вы планируете создать веб-сайт, вам нужно будет использовать один из популярных фреймворков Python, например Flask.

Но что, если вы хотите создать приложение для Android? В таком случае вам понадобится Киви!

Kivy — это библиотека Python, поддерживающая кроссплатформенную разработку. Это означает, что вы можете использовать единую базу кода для создания приложений для Android, iOS и даже Windows, Linux и MacOS. Kivy предоставляет гибкие, современные элементы пользовательского интерфейса, и, конечно же, давайте продолжим использовать ваш новый любимый язык для создания всего этого!

Итак, с чего начать? Давайте узнаем в этом руководстве по Kivy Python.

Руководство по Kivy Python: настройка

Сначала необходимо загрузить и установить Kivy. К счастью, вы можете сделать это через pip. Итак, сначала убедитесь, что Python установлен на вашем компьютере. Если это не так, вы можете исправить это, следуя нашему полезному руководству:

Как установить Python и начать кодирование в Windows, Mac , или Linux

Затем вам нужно открыть командную строку в папке Python или добавить Python в PATH, если вы работаете в Windows. Или вы можете использовать терминал.

Затем перейдите к инструкциям, представленным на Kivy.org. Это даст вам подробное руководство по настройке и запуску.

Версия с заметками об обрыве: убедитесь, что у вас установлена ​​последняя версия pip, wheel и virtualenv, выполнив следующую команду в командной строке:

 python -m pip install --upgrade pip wheel setuptools virtualenv 

Затем создайте виртуальную среду для вашего проекта Kivy:

  python -m virtualenv kivy_venvkivy_venv  Scripts  activate 

(или исходный код kivy_venv/Scripts/activate, если в терминале bash).

Если это не сработает, попробуйте использовать «py» вместо «python». Затем установите нужные вам зависимости. Они занимают немного места, поэтому, если вы хотите:

 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 3. 5+) 

Наконец, установите сам Kivy и примеры:

 python -m pip install kivy == 1.11.1python -m pip install kivy_examples == 1.11.  1 

Опять же, вы можете следовать инструкциям на Kivy.org для получения более подробного руководства.

Выполнив все это, почему бы не взглянуть на один из примеров?

 python kivy_venv  share  kivy-examples  demo  showcase   main.py 

Здесь вы найдете множество различных макетов кнопок и сможете взаимодействовать с ними; понимание типов пользовательских интерфейсов, которые вы можете создать с помощью разработки приложений Python с помощью Kivy!

Обратите внимание, что вам нужно будет создавать виртуальную среду каждый раз, когда вы начинаете разработку. Так что пока не закрывайте это окно CMD!

Ваше первое приложение

Для начала загрузите вашу IDE/редактор Kivy по выбору. Опять же, вы можете узнать, как это сделать, в нашем предыдущем посте. Я буду использовать Visual Studio.

Теперь введите следующий код:

 import kivykivy.require ('1.9.0') from kivy.app import Appfrom kivy.  uix.button import Labelclass HelloWorld (App): def build (self): return Label (text = "Hello Wolrd") helloWorld = HelloWorld () helloWorld.run () 

Чтобы запустить это, вы нужно будет вернуться в терминал/командную строку, найти файл и запустить его. Я назвал свой Python_Kivy_Example.py.

Если все прошло хорошо, вас встретят слова «Hello World!» вверх на экране:

Помните: вы должны быть используя среду Kivy, которую вы настроили для того, чтобы это работало. Если вы В этом скрипте, мы сначала импортируем Kivy и отдельные элементы, которые нам нужны (приложение и ярлык). Kivy.require () — это то, что мы используем для нацеливания на минимальную версию Kivy.

Затем мы создаем класс под названием HelloWorld с функцией под названием build , который вернет метку с текстом «Hello World» (по традиции).

Наконец, мы создаем наш объект Hello World и затем запустил его. Бум! Итак, у вас есть ваше первое приложение Kivy Python!

Что еще мы можем сделать

Это был очень простой вводный проект, чтобы показать вам, как Kivy работает для целей этого учебника Kivy Python.

Итак, что еще может сделать этот плохой мальчик?

Одна умная вещь, которую мы можем сделать с Kivy, — это отделить слой пользовательского интерфейса от кода — так же, как мы это делаем в Android Studio (где пользовательский интерфейс обрабатывается XML в отдельных файлах). Мы бы сделали это, создав отдельные файлы Kivy, которые затем могли бы отображать кнопки и тому подобное.

Итак, давайте создадим новый файл Kivy и назовем его HelloWorld. Добавьте сюда следующий код:

 

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

 import kivykivy.require ('1.9.0') from kivy.app import Appfrom kivy.uix.button import Labelclass HelloWorld  (Приложение): def build (self): return Label () helloWorld = HelloWorld () helloWorld.run () 

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

Теперь вы можете делать такие вещи, как изменение цвета и размера метки:

 : text: "Hello World" pos: 0, 100size: 100, 50color: .8, .9,0,1font_size: 32 

Обратите внимание, что для того, чтобы это работало, вам также необходимо импортировать «цвет».

 from kivy.graphics import Color 

Если мы хотим разместить несколько виджетов в одном макете, нам нужно внести несколько небольших изменений . Вместо того, чтобы возвращать ярлык, мы вернем макет. Мы будем использовать макет коробки, который является одним из самых простых вариантов.

Это просто расположит ваши виджеты сверху вниз или слева направо, в зависимости от того, установлен ли он на «вертикальное» или «горизонтальное».

 : Ориентация: '  вертикальный 'Метка: текст:' Метка 1 'Метка: текст:' Метка 2 'Метка: текст:' Метка 3 '

Затем вы можете отобразить это, используя следующий код:

 import kivykivy.require ('1.9.0') из kivy.app import Appfrom kivy.uix.button import Labelfrom kivy.uix.boxlayout import BoxLayoutclass HelloWorld (App): def build (self): return BoxLayout ()  helloWorld = HelloWorld () helloWorld.run () 

Обработка нажатий кнопок

Следующее, что нужно любому хорошему руководству по Kivy Python, — это способ обработки событий и логики . Если мы хотим поменять эти метки на кнопки, мы можем сделать это очень просто, импортировав «Button» вместо метки и поменяв местами каждую ссылку.

Но мы не собираемся этого делать. Вместо этого, чтобы не усложнять задачу, мы будем использовать только одну кнопку. При нажатии этой кнопки на CMD/терминал будет выведено сообщение «Hello World».

Ваш KV-файл будет выглядеть следующим образом:

 : BoxLayout: Ориентация:  'vertical'Button: text:' Button 1'on_press: root.button_pressed () 

Здесь мы добавили две новые интересующие функции: тег контроллера и on_press. Тег контроллера — это наш «корневой виджет». Все остальные виджеты в файле являются «потомками» этого корня. Другой интересный объект — «on_press». Это вызывает функцию, которую мы добавляем в код.

Это код выглядит так:

 import kivykivy.require ('1.9. 0 ') из kivy.app import Appfrom kivy.uix.button import Buttonfrom kivy.uix.label import Labelfrom kivy.uix.boxlayout import BoxLayoutclass RootWidget (BoxLayout): def __init __ (self): super (RootWidget, self) .__ init __ (  ) def button_pressed (self): print ("Здравствуйте!") class HelloWorld (App): def build (self): return RootWidget () helloWorld = HelloWorld () helloWorld.run () 

Как Вы можете видеть, что теперь мы возвращаем «RootWidget» в качестве нашего представления. Между тем, RootWidget имеет свой собственный класс, который содержит небольшой шаблонный код для инициализации представления, а также функцию button_pressed . Именно здесь мы

Мы можем даже продвинуть это руководство по Kivy Python на один шаг вперед, показав вам, как изменить макет из кода. Для этого нам просто нужно создать метку для одного из наших представлений, чтобы мы могли ссылаться на него позже.

Новый файл Kivy:

 import kivykivy  .require ('1.9.0') из kivy.app import Appfrom kivy.uix.button import Buttonfrom kivy.uix.label import Labelfrom kivy.uix.boxlayout import BoxLayoutclass RootWidget (BoxLayout): def __init __ (self): super (RootWidget  , self) .__ init __ () def button_pressed (self): self.lbl.text = "Hello World!"  class HelloWorld (App): def build (self): return RootWidget () helloWorld = HelloWorld () helloWorld.run () 

Новый файл Python:

 : lbl: my_labelBoxLayout: direction: 'vertical'Button: text:' Button 1'on_press: root.button_pressed () Label: id: my_labeltext: 'Waiting ...' 

Нажав на кнопка теперь будет отображать «Hello World!» на этикетке, расположенной непосредственно под ней.

Вас еще много можно, но, надеюсь, это руководство по Python Kivy дало вам хорошую основу для построения. Существует множество ресурсов и руководств, поэтому выберите простой проект и приступайте к нему!

Также прочтите: Как определить функцию в Python

Но подождите! Вам, наверное, интересно, как все это упаковать в файл APK? Для этого вам понадобится другой внешний инструмент под названием Buildozer. Это статья в другой раз. А пока вы можете следовать документации: Руководство по программированию> Создать пакет для Android.

Как видите, есть , что вы можете сделать с Python. как только вы справитесь с этим! Если вы хотите стать профессионалом в этом прекрасном языке, почему бы не пройти онлайн-курс? Вы можете найти невероятные скидки на лучшие курсы Python и научиться всего за 40 долларов в нашем руководстве по лучшим онлайн-курсам Python.


Для получения дополнительных новостей для разработчиков, функций, и руководства от Android Authority, не пропустите подписку на ежемесячный информационный бюллетень ниже!

Оцените статью
binarate.ru
Добавить комментарий