Киви загрузочный экран - PullRequest
       9

Киви загрузочный экран

0 голосов
/ 17 сентября 2018

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

#: import FadeTransition kivy.uix.screenmanager.FadeTransition


MyScreenManager:
    id: myscreenmanager
    transition: FadeTransition()
    PreLoadScreen:
    LoadingScreen:
    LoginScreen:

<PreLoadScreen>: 
    ...
<LoadingScreen>: 
    ...
<LoginScreen>: 
    ...

Я знаю, как изменить экран, нажав такую ​​кнопку.

    Button:
        text: 'Log In'
        on_release: 
        app.root.current = 'somescreen'

Но я не мог понять, как автоматически менять экран, например,

(пустой экран)

~ автоматически переходит в

-> (экран с загрузкой анимацииили изображение)

~, когда некоторые загрузки завершены, исчезает до

-> (экран входа в систему)

Есть ли хороший способ, которым я могу сделать это без каких-либо действий, таких каккак on_release или on_touch_down?

1 Ответ

0 голосов
/ 17 сентября 2018

Создайте следующие классы Python для каждого экрана Kivy:

class PreLoadScreen(Screen):
   def switchToNextScreen(self) 
      self.parent.current = 'LoadingScreen'

class LoadingScreen(Screen):
    def switchToNextScreen(self):
        self.parent.current = 'PreLoadScreen'

class PreLoadScreen(Screen):
    def switchToNextScreen(self):
        self.parent.current = 'PreLoadScreen'

А затем, в зависимости от условий переключения экрана, вызовите switchToNextScreen, если вы хотите переключить текущий отображаемый экран.

self.parent является эквивалентом app.root в вашем случае. По мере дальнейшего вхождения в класс вам придется повторно вызывать parent (self.parent.parent)

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...