繁体   English   中英

奇异果载入画面

[英]Kivy loading screen

我目前正在尝试通过切换屏幕来制作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?

为每个Kivy屏幕创建以下python类:

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)

我希望这有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM