Найти - Пользователи
Полная версия: Структура проекта на Kivy
Начало » Python для новичков » Структура проекта на Kivy
1
titov_
При использовании Kivy часть файлов пишется на Python и часть на Kivy. Как они разделяются и за что отвечают? Ведь Kivy помимо интерфейса ещё реализует какой-то функционал. Например, работа с меню. Как определять, что реализовывать на Python, а что на Kivy?
Octans
Kivy это gui фреймворк, соответственно никакого другого функционала выходящего за рамки gui он не предлагает. kivy lang служит лишь для упрощения построения gui(читай структурированного), все что можно сделать в kv файлах, можно реализовать и непосредственно в py файлах, но в kv это будет нагляднее, быстрее, и местами даже короче (например работу с положением и размером виджетов проще реализовать в kv, т.к. это не требует написания лишних методов и их биндингов), но все реализовать в kv нельзя(да и не нужно), т.к. kv lang это не полноценный яп, в нем банально нельзя объявить новую функцию(разве что через lambda, или каким-нибудь извратом через exec), или динамически генерировать новые виджеты(без вызова методов описанных в python), поэтому основная логика(кроме простых событий и взаимодействий виджетов) пишется как обычно на python. Можете считать kv lang неким дизайнером форм(как в delphi или vs), но только в текстовом виде ;) , ближайший аналог kivy lang это qml в qt.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB