简体   繁体   中英

CardTransition isn't working in Kivy 1.9.1

I am trying to make a simple app in kivy with multiple screens that makes use of the CardTransition, but when I try to run it I get an Error. I know the app itself works because I have tried it with a different transition and it works fine. I am using Python 3.4.4 with Kivy 1.9.1.

Here's the code:

import kivy
kivy.require("1.9.1")

from kivy.uix.boxlayout     import BoxLayout
from kivy.app               import App
from kivy.uix.label         import Label
from kivy.uix.button        import Button
from kivy.lang              import Builder
from kivy.uix.screenmanager import ScreenManager, Screen, SwapTransition, CardTransition

KivyFile = Builder.load_string("""
<Screen1>:
    name: "Screen1"
    BoxLayout:
        orientation: "vertical"
        padding: 40
        spacing: 20

        Label:
            text: "This is screen 1"
        Button:
            text: "Next Screen"
            on_release: app.root.current = "Screen2"
<Screen2>:
    name: "Screen2"
    BoxLayout:
        orientation: "vertical"
        padding: 40
        spacing: 20

        Label:
            text: "This is screen 2"
        Button:
            text: "Next Screen"
            on_release: app.root.current = "Screen3"
<Screen3>:
    name: "Screen3"
    BoxLayout:
        orientation: "vertical"
        padding: 40
        spacing: 20

        Label:
            text: "This is screen 3"
        Button:
            text: "Next Screen"
            on_release: app.root.current = "Screen1"
""")

class Screen1(Screen):
    pass

class Screen2(Screen):
    pass

class Screen3(Screen):
    pass

sm = ScreenManager(transition=CardTransition())
sm.add_widget(Screen1(name = "Screen1"))
sm.add_widget(Screen2(name = "Screen2"))
sm.add_widget(Screen3(name = "Screen3"))

class MyApp(App):

    def build(self):
        return sm

if __name__ == "__main__":
    MyApp().run()

Here's the error I get:

 Traceback (most recent call last):
   File "C:/Users/Markus/Desktop/Kivy/TestTransitions.py", line 9, in <module>
     from kivy.uix.screenmanager import ScreenManager, Screen, SwapTransition, CardTransition
 ImportError: cannot import name 'CardTransition'

CardTransition仅在kivy 1.10中添加。

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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