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

Учебник Python Kivy

В этом руководстве по 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 tutorial: Настройка

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

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

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

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

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

python -m pip install –upgrade pip wheel setuptools virtualenv

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

python -m virtualenv kivy_venv kivy_venv Scripts активировать

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

Установить сам Kivy

Предоставлено: Адам Синицки / Android Authority.

Если это не сработает, попробуйте использовать «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.1 python -m pip install kivy_examples == 1.11.1

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

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

python kivy_venv share kivy-examples demo showcase main.py

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

Киви Пример

Предоставлено: Адам Синицки / Android Authority.

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

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

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

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

import kivy kivy.require (‘1.9.0’) из kivy.app import App from kivy.uix.button import Label class HelloWorld (App): def build (self): return Label (text = “Hello Wolrd”) helloWorld = HelloWorld () helloWorld.run ()

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

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

Киви Привет, мир

Предоставлено: Адам Синицки / Android Authority.

Помните: вы должны использовать среду 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 kivy kivy.require (‘1.9.0’) из kivy.app import App from kivy.uix.button import Label class HelloWorld (App): def build (self): return Label () helloWorld = HelloWorld () helloWorld.run ()

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

Теперь вы можете изменять цвет и размер метки:

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

из kivy.graphics import Color

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

Макет коробки Kivy

Предоставлено: Адам Синицки / Android Authority.

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

: ориентация: ‘вертикальная’ Метка: текст: ‘Метка 1’ Метка: текст: ‘Метка 2’ Метка: текст: ‘Метка 3’

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

import kivy kivy.require (‘1.9.0’) из kivy.app import App из kivy.uix.button import Label из kivy.uix.boxlayout import BoxLayout class HelloWorld (App): def build (self): return BoxLayout () helloWorld = HelloWorld () helloWorld.run ()

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

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

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

Ваш файл KV будет выглядеть так:

<Контроллер>: BoxLayout: ориентация: ‘вертикальная’ Кнопка: текст: ‘Кнопка 1’ on_press: root.button_pressed ()

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

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

import kivy kivy.require (‘1.9.0’) из kivy.app import App from kivy.uix.button import Button from kivy.uix.label import Label from kivy.uix.boxlayout import BoxLayout class 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. пробег()

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

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

Новый файл Kivy:

import kivy kivy.require (‘1.9.0’) из kivy.app import App from kivy.uix.button import Button from kivy.uix.label import Label from kivy.uix.boxlayout import BoxLayout class RootWidget (BoxLayout): def __init__ (self): super (RootWidget, self) .__ init __ () def button_pressed (self): self.lbl.text = “Hello World!” class HelloWorld (Приложение): def build (self): return RootWidget () helloWorld = HelloWorld () helloWorld.run ()

Новый файл Python:

: lbl: my_label BoxLayout: ориентация: ‘вертикальная’ Кнопка: текст: ‘Кнопка 1’ on_press: root.button_pressed () Метка: id: my_label text: ‘Ожидание …’

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

Kivy Button Press

Предоставлено: Адам Синицки / Android Authority.

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

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

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

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

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

Будьте в курсе всего, что связано с разработкой для Android

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

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

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *