Перейти к содержимому

Как установить киви питон на виндовс

  • автор:

Изучение Python Kivy в одной статье! Основы Kivy

Изучение Python Kivy в одной статье! Основы Kivy

Python обладает большим набором библиотек для разработки графического интерфейса. Ранее мы уже знакомились с TKinter, а также PyQT5. Сейчас мы рассмотрим принцип работы с библиотекой Kivy.

Зачем изучать Kivy?

Разрабатывать программы можно на разных языках программирования. Даже при помощи JavaScript и библиотеки Electron это также можно делать. В то же время, создавать крупные ПК проекты на JS не охота, ибо язык медленный и не столь удобный. Использовать Swift или C# тоже не хочется, так как в этом случае разработка будет вестись лишь под одну операционную систему.

Можно делать проекты на Java, React Native или на Flutter. Все они хороши, но все же еще хорошим и крупным игроком является Python вместе со своими библиотеками. Он обеспечивает разработку кроссплатформенных программ с хорошей скоростью выполнения. И еще приятным бонусом является само написание программы, ведь синтаксис языка Python хороший.

Для языка Python сфера полноценных проектов не первостепенно важна, но все же язык предоставляет отличные возможности для разработки полноценных программ под разные операционные системы.

Информация относительно Kivy

Фреймворк Kivy разрабатывается с 2011 года. С момента релиза на его основе было построено много проектов под платформу Андирод.

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

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

Установка Kivy

Для установки Kivy вам потребуется стандартный пакетный менеджер pip и программа для написания кода. Для получения пакетного менеджера выполните установку Python на ваш компьютер, при чем установите Питон именно версии 3.7. Он лучше остальных подходит под Kivy.

Чтобы выполнить установку пропишите в терминале команду pip install kivy и далее библиотека будет готова к использованию.

Создание проекта

Ниже представлен код готового приложения на Kivy. Полная информация относительно Питон Киви находится в обучающем видео в конце этой статьи.

# Импорт всех классов from kivy.app import App from kivy.uix.label import Label from kivy.uix.textinput import TextInput from kivy.uix.boxlayout import BoxLayout from kivy.core.window import Window # Глобальные настройки Window.size = (250, 200) Window.clearcolor = (255/255, 186/255, 3/255, 1) Window.title = "Конвертер" class MyApp(App): # Создание всех виджетов (объектов) def __init__(self): super().__init__() self.label = Label(text='Конвертер') self.miles = Label(text='Мили') self.metres = Label(text='Метры') self.santimetres = Label(text='Сантиметры') self.input_data = TextInput(hint_text='Введите значение (км)', multiline=False) self.input_data.bind(text=self.on_text) # Добавляем обработчик события # Получаем данные и производит их конвертацию def on_text(self, *args): data = self.input_data.text if data.isnumeric(): self.miles.text = 'Мили: ' + str(float(data) * 0.62) self.metres.text = 'Метры: ' + str(float(data) * 1000) self.santimetres.text = 'Сантиметры: ' + str(float(data) * 100000) else: self.input_data.text = '' # Основной метод для построения программы def build(self): # Все объекты будем помещать в один общий слой box = BoxLayout(orientation='vertical') box.add_widget(self.label) box.add_widget(self.input_data) box.add_widget(self.miles) box.add_widget(self.metres) box.add_widget(self.santimetres) return box # Запуск проекта if __name__ == "__main__": MyApp().run()

Видео на эту тему

Детальный разбор Python Kivy вы можете просмотреть на видео ниже. В видеоуроке показан разбор библиотеки и её возможностей.

Дополнительный курс

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

Больше интересных новостей

Лучшие хакеры в мире: ТОП-5 мастеров всех времен

Лучшие хакеры в мире: ТОП-5 мастеров всех времен

Какие типичные ошибки допускают начинающие программисты?

Какие типичные ошибки допускают начинающие программисты?

Фриланс-платформы для программистов: ТОП-5 лучших

Фриланс-платформы для программистов: ТОП-5 лучших

5 лучших редакторов кода для программистов

5 лучших редакторов кода для программистов

Комментарии (1)

Семён 18 ноября 2022 в 11:31

При попытке установить Kivy вылазит ошибка. Насколько я понял, для Питон 3.11 нет собранных пакетов и их надо собирать самому.

Grrrr 22 марта 2023 в 16:03

Решается вот так. Две команды поочерёдно.

Как установить kivy на Windows?

Устанавливаю через консоль cython ( pip install cython) — цитон установился нормально,затем устанавливаю kivy ( pip install cython).
В самом конце установки выдаёт следующее:

Command «c:\users\алексей\appdata\local\programs\python\python35-32\python.exe —
c «import setuptools, tokenize;__file__=’C:\\Users\\CD86~1\\AppData\\Local\\Temp
\\pip-build-33egwhfv\\kivy\\setup.py’;exec(compile(getattr(tokenize, ‘open’, ope
n)(__file__).read().replace(‘\r\n’, ‘\n’), __file__, ‘exec’))» install —record
C:\Users\CD86~1\AppData\Local\Temp\pip-zpfjldxr-record\install-record.txt —sing
le-version-externally-managed —compile» failed with error code 1 in C:\Users\CD
86~1\AppData\Local\Temp\pip-build-33egwhfv\kivy

В чём может быть проблема?
Операционная система Windows 7
Python 3.5.1

  • Вопрос задан более трёх лет назад
  • 9858 просмотров

Installation on Windows¶

To install Kivy on Windows via pip , please follow the main installation guide .

Installation components¶

Following, are additional information linked to from some of the steps in the main installation guide , specific to Windows.

Installing Python¶

To install Python on Windows, download it from the main Python website and follow the installation steps. You can read about the individual installation options in the Python guide.

If you installed the Python launcher, you will be more easily able to install multiple Python versions side by side and select, which to run, at each invocation.

Source installation Dependencies¶

To install Kivy from source, please follow the installation guide until you reach the Kivy install step and then install the compiler below before continuing.

To install kivy from source, you need a compiler. On Windows, the Visual Studio Build Tools are required, and they are available for free. You can either:

  • Download and install the complete Visual Studio IDE, which contains the build tools. This is the easiest approach and the IDE can be downloaded from here.
  • The IDE is very big, so you can also download just the smaller build tools, which are used from the command line. The current download (2019) can be found on this page under “Tools for Visual Studio 2019”. More info about this topic can be found in the Kivy wiki.

Now that the compiler is installed, continue to install Kivy .

Making Python available anywhere¶

There are two methods for launching Python when double clicking on your *.py files.

Double-click method¶

If you only have one Python installed, and if you installed it using the default options, then *.py files are already associated with your Python. You can run them by double clicking them in the file manager, or by just executing their name in a console window (without having to prepend python ).

Alternatively, if they are not assigned, you can do it the following way:

  1. Right click on the Python file (.py file extension) in the file manager.
  2. From the context menu that appears, select Open With
  3. Browse your hard disk drive and find the python.exe file that you want to use (e.g. in the the virtual environment). Select it.
  4. Select “Always open the file with…” if you don’t want to repeat this procedure every time you double click a .py file.
  5. You are done. Open the file.

Send-to method¶

You can launch a .py file with Python using the Send to menu:

  1. Browse to the python.exe you want to use. Right click on it and copy it.
  2. Open Windows Explorer (the file explorer in Windows 8), and to go the address ‘shell:sendto’. You should get the special Windows directory SendTo .
  3. Paste the previously copied python.exe file as a shortcut.
  4. Rename it to python . E.g. python39 .

You can now execute your application by right clicking on the .py file -> “Send To” -> “python ”.

Kivy Python

Kivy это фреймворк на Python с открытым исходным кодом для разработки кроссплатформенных приложений.

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

Это не учебник и не подробная статья по Kivy, а просто пример создания приложения уровня HelloWorld.

Для начала установим Kivy, согласно официальной документации через pip это делается командой:

pip install kivy[base]

Первая программа на фреймворке Kivy

После установки, проверим работоспособность kivy создав простое первое приложение, которое выведет нам Привет мир!

Создадим файл hello.py со следующим содержимым:

from kivy.app import App from kivy.uix.label import Label class MainApp(App): def build(self): label = Label(text='Привет мир!') return label if __name__ == '__main__': app = MainApp() app.run()

Запускаем и видим наше приложение:

Первое приложение на фреймворке kivy

Каждому приложению Kivy требуется создать подкласс App и переопределить метод build(), что мы и сделали. Сюда мы поместили код, который создает виджет Label с переданным значением text.

В Kivy все элементы располагаются на layout и чтобы вывести несколько элементов (например слова «привет» и «мир» мы хотим разместить на разных виджетах Label), нам нужно расположить их на нем.

Всего существует 8 видов лайаутов, о них можно почитать в официальной документации: https://kivy.org/doc/stable/gettingstarted/layouts.html

Для нашего примера будем использовать BoxLayout, в нем все элементы располагаются друг за другом при горизонтальной ориентации или друг под другом при вертикальной.

Изменим метод build чтобы он возвращал нам не один элемент интерфейса, а слой с несколькими элементами:

 def build(self): layout = BoxLayout() label1 = Label(text='Привет') label2 = Label(text='мир!') layout.add_widget(label1) layout.add_widget(label2) return layout

Не забудем импортировать BoxLayout

from kivy.uix.boxlayout import BoxLayout

Теперь запустим и увидим нужный результат:

Программа на kivy с двумя виджетами Label на BoxLayout

Все работает, но не видно где заканчивается один Label и начинается второй. Например, я хочу поменять фон и работать с позиционированием элементов, для этого в киви существует язык разметки.

Сделаем отдельный файл с этой разметкой, он должен иметь расширение kv, по умолчанию метод run() будет искать с файл с именем нашего класса без App, т.е. в нашем случае main.kv

Перепишем пример выше, сначала код файла main.kv:

: Label: text: 'Привет' Label: text: 'Мир'

Теперь изменим код hello.py на:

from kivy.app import App from kivy.uix.boxlayout import BoxLayout class MainWidget(BoxLayout): pass class MainApp(App): def build(self): return MainWidget() if __name__ == '__main__': app = MainApp() app.run()

Запускаем скрипт и мы должны увидеть все тоже самое, если так, то ничего не сломалось и можно продолжить.

Начнем доработку внешнего вида, для этого поменяем файл main.kv. Во первых сделаем разные цвета для наших Label и отделим их друг от друга:

: orientation: 'vertical' padding: 20 spacing: 20 Label: markup: True text: '[color=000000]Привет[/color]' canvas.before: Color: rgba: 1, 1, 1, 1 Rectangle: pos: self.pos size: self.size Label: text: 'Мир' canvas.before: Color: rgba: 1, .5, 0, 1 Rectangle: pos: self.pos size: self.size 

Работа с внешнем видом в фреймворке kivy

Усложняем программу

Теперь сделаем программу чуть сложнее чем Helloworld, сделаем чтобы мы вводили в нее свое имя и она с нами здоровалась.

Она должна выглядеть вот так:

Конечная программа на фреймворке Kivy Python

Сверху картинка, потом поле ввода, потом надпись, потом кнопка.

Файл шаблона (main.kv) у меня получился таким:

: orientation: 'vertical' padding: 20 spacing: 20 Image: source: 'hello.png' TextInput: multiline: False size_hint: (.5, None) pos_hint: height: 50 font_size: 30 Label: font_size: 30 text: 'Напишите как вас зовут' Button: font_size: 30 text: 'Поздороваться' size_hint: (.5, None) pos_hint:

hello.png — это файл с картинкой с надписью hello, в моем случае он лежит в корне проекта

Теперь осталось сделать чтобы программа выполняла свою функцию и здоровалась с нами по нажатию кнопки «Поздороваться».

Сначала добавим в класс MainWidget добавим метод say_hello():

class MainWidget(BoxLayout): def say_hello(self): print('тест кнопки')

Он будет вызываться по нажатию кнопки. Для того чтобы кнопка реагировала на нажатие, добавим ей атрибут on_press, который будет вызывать метод say_hello():

Button: font_size: 30 text: 'Поздороваться' size_hint: (.5, None) pos_hint: on_press: root.say_hello()

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

smiley

Если так, то пока все работает правильно

Дальше нужно сделать, чтобы в Label менялся текст на тот, который введен в виджете TextInput.

Для этого нам нужно получить доступ к свойству text этих виджетов.

Для этого импортируем класс ObjectProperty и создадим 2 экземпляра этого класса:

from kivy.properties import ObjectProperty class MainWidget(BoxLayout): hello_label = ObjectProperty() name_input = ObjectProperty() def say_hello(self): . 

Теперь откроем файл main.kv и добавим индефикаторы для виджетов Label и TextInput, чтобы на них можно было ссылаться из других частей KV файла.

TextInput: id: name Label: id: hello 

Теперь установим эти индефикаторы в значения свойств hello_label и name_input, которые мы определили в методе say_hello():

: orientation: 'vertical' padding: 20 spacing: 20 name_input: name hello_label: hello . 

Теперь мы можем получить доступ к свойству text этих виджетов, изменим методе say_hello():

def say_hello(self): self.hello_label.text = 'Привет ' + self.name_input.text

Собственно все, можно запустить программу и проверить, все должно работать.

Конечная программа на фреймворке Kivy Python

Весь код файлов есть в репозитории на гитхабе https://github.com/alexandrtretyakov/kivy

Категории

Свежие записи

  • Таблицы в админке WordPress (часть 1)
  • Импорт/экспорт Linux WSL
  • Не печатаются заглавные буквы в PowerShell
  • 1С-Битрикс: Ошибка авторизации! Срок действия пароля истек, необходимо сменить пароль.
  • Несколько конфигураций для проекта Django
  • Django inclusion_tag с разными шаблонами

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

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