Почти библейская история.
Обосновались на горе Олимп три компьютерных бога, и звались они: Google, Apple и Microsoft. У каждого бога был свой Эдемский сад, в котором обитали их сыновья: у Google сын Android, у Apple братья Ios и Macos, у Micrisoft сын Windows. И могли сыны божьи гулять, каждый по своему саду, и рвать плоды любые, и торговать ими. И росло в тех садах дерево познания. Но заповедал каждый бог своему сыну: от всякого дерева в саду ты будешь рвать, а от дерева познания, не рви и не ешь с него, ибо в день, в который вкусишь с него, или сорвешь и продашь с него, станешь ты мне не угодным.
А у подножья горы, в долине обитал простой люд, и у каждого простолюдина было свое имя, но боги обращались к ним по общему прозвищу — Linux. И не имели право простолюдины заходить в сады и плоды вкушать. А могли они только покупать плоды всякие из садов божьих, кроме плодов с дерева познания.
А на дереве познания сидел хитрый змий. И видел он, несправедливость, как боги наживались на простолюдинах, продавая им плоды садов своих. Однажды набрал он плодов с дерева познания и раздал их простолюдинам. И вкусивши плодов от древа познания, прозрели простолюдины, и поняли, что могут сотворить свои сады. И стали они сами сады возделывать, и плоды растить, и угощать друг друга плодами своими, и дарить, и менять, и торговать ими. И перестали они зависеть от прихотей компьютерных богов. Имя того змия был Python, а имя плода запретного Kivy.
Одна из особенностей Python заключается в том, что для оформления блоков кода вместо привычных фигурных скобок, как в C, C ++, Java, используются отступы (или табуляция). Отступы — важная концепция языка Python и без правильного их оформления в программе будут возникать ошибки.
Примечание.
Следует обратить внимание, что некоторые из требуемых зависимостей могут быть не включены в устанавливаемый пакет (это зависит от типа и версии операционной системы вашего компьютера и от версии Python). Если возникнут проблемы при запуске написанных программных модулей, то вы можете использовать следующие дополнительные команды для установки необходимых отсутствующих библиотек, чтобы исправить возникающие ошибки:
pip install kivy-deps.angle;
pip install kivy-deps.glew;
pip install kivy-deps.gstreamer;
pip install kivy-deps.sdl2.
как правило, охватить две операционные системы, iOS и Android, одним кодом. Для этих целей используются такие инструменты, как React Native, Flutter, Ionic, Xamarin, PhoneGap. Кроссплатформенная разработка настольных приложений обеспечивает создание программ, способных работать под Windows, MacOS и Linux. Для этих целей используются такие инструменты, как Electron JS, Qt, GTK, Avalonia, Tkinter. То есть упомянутый выше инструментарий используется для кроссплатформенной разработки либо мобильных, либо настольных приложений. А есть ли такое универсальное инструментальное средство, которое обеспечивает работу программы из одного кода и на персональных компьютерах, и на мобильных устройствах, и под любой операционной системой? А ответ на этот вопрос лежит в почти библейской истории, вот она.
from kivy.uix.boxlayout import BoxLayout
объект, созданный на базе одного из базовых классов фрейморка Kivy.
В приложениях на Kivy — пользовательский интерфейс строится на основе дерева виджетов. Принципиальная структура дерева виджетов приведена на рис.2.40.
Рис. 2.40. Структура дерева виджетов
Если на вашем компьютере не воспроизводится видео, то, скорее всего это происходит из-за отсутствия нужных кодеков. Для воспроизведения видеофайлов разных форматов нужно в инструментальную среду дополнительно установить модуль ffpyplayer. Для этого необходимо в терминале Pycharm выполнить команду: pip install ffpyplayer
У фреймворка Kivy имеется небольшой набор видимых виджетов:
— Label — метка или этикетка (текстовая надпись в окне приложения);
— Button — кнопка;
— Checkbox — флажок;
— Image — изображение;
— Slider — слайдер;
— ProgressBar — индикатор;
— TextInput — поле для ввода текста;
— ToggleButton — кнопка «переключатель»;
— Switch — выключатель;
— Video — окно для демонстрации видео из файла;
— Widget — пустая рамка (поле).
Это достаточно скромный, базовый набор визуальных элементов, но мы именно с них начнем знакомство с Kivy.
Примечание.
Более богатый набор визуальных элементов реализован в библиотеке KivyMD.
— app: — (приложение) позволяет обратиться к элементам приложения (например, из кода на KV можно обратиться к функциям, которые находится в разделе приложения, написанного на Python);
— root: (корень) позволяет обратиться к корневому виджету;
— self: (сам) позволяет обратиться к себе, и получить от виджета (от себя) свои же параметры;
— args — (аргументы) позволяет указать аргументы при обращении к функциям;
— ids — (идентификаторы) позволяет обратиться к параметрам виджета через его идентификатор