为什么';我的屏幕经理赢了';你不能单独使用kivy语言,需要python吗?

为什么';我的屏幕经理赢了';你不能单独使用kivy语言,需要python吗?,python,android,python-3.x,kivy,kivy-language,Python,Android,Python 3.x,Kivy,Kivy Language,为什么这工作得很好,但我必须显式地从python添加屏幕小部件 from kivy.uix.screenmanager import Screen, ScreenManager from kivy.lang import Builder from kivy.app import App class start(Screen): pass class filexp(Screen): pass class shuff(ScreenManager): pass sty=''' #:i

为什么这工作得很好,但我必须显式地从python添加屏幕小部件

from kivy.uix.screenmanager import Screen, ScreenManager
from kivy.lang import Builder
from kivy.app import App
class start(Screen):
  pass
class filexp(Screen):
  pass
class shuff(ScreenManager):
  pass
  
sty='''
#:import FadeTransition kivy.uix.screenmanager.FadeTransition
<shuff>:
    transition:FadeTransition()
    start:
    filexp:
<start>:
    name:'main'
    Button:
        text:'what'
        on_release:app.root.current='exp'
<filexp>:
    name:'exp'
    GridLayout:
        cols:1
        Button:
            on_release:app.root.current='main'
          
'''
Builder.load_string(sty)
class a(App):
  def build(self):
    x=shuff()
    x.add_widget(start())
    x.add_widget(filexp())
    return(x)
a().run()
从kivy.uix.screenmanager导入屏幕,screenmanager
从kivy.lang导入生成器
从kivy.app导入应用程序
课程开始(屏幕):
通过
类filexp(屏幕):
通过
类shuff(屏幕管理器):
通过
sty=''
#:导入FadeTransition kivy.uix.screenmanager.FadeTransition
:
转换:FadeTransition()
开始:
filexp:
:
姓名:'main'
按钮:
文本:'什么'
发布时:app.root.current='exp'
:
名称:'exp'
网格布局:
科尔斯:1
按钮:
发布时:app.root.current='main'
'''
生成器加载字符串(sty)
a类(应用程序):
def生成(自):
x=shuff()
x、 添加_小部件(start())
x、 添加_小部件(filexp())
返回(x)
a().run()
但这只显示黑屏,尽管在ScreenManager中添加了kivy语言的屏幕

from kivy.uix.screenmanager import Screen, ScreenManager
from kivy.lang import Builder
from kivy.app import App
class start(Screen):
  pass
class filexp(Screen):
  pass
class shuff(ScreenManager):
  pass
  
sty='''
#:import FadeTransition kivy.uix.screenmanager.FadeTransition
<shuff>:
    transition:FadeTransition()
    start:
    filexp:
<start>:
    name:'main'
    Button:
        text:'what'
        on_release:app.root.current='exp'
<filexp>:
    name:'exp'
    GridLayout:
        cols:1
        Button:
            on_release:app.root.current='main'
          
'''
Builder.load_string(sty)
class a(App):
  def build(self):
    return(shuff())
a().run()
从kivy.uix.screenmanager导入屏幕,screenmanager
从kivy.lang导入生成器
从kivy.app导入应用程序
课程开始(屏幕):
通过
类filexp(屏幕):
通过
类shuff(屏幕管理器):
通过
sty=''
#:导入FadeTransition kivy.uix.screenmanager.FadeTransition
:
转换:FadeTransition()
开始:
filexp:
:
姓名:'main'
按钮:
文本:'什么'
发布时:app.root.current='exp'
:
名称:'exp'
网格布局:
科尔斯:1
按钮:
发布时:app.root.current='main'
'''
生成器加载字符串(sty)
a类(应用程序):
def生成(自):
返回(shuff())
a().run()

当我用pydroid应用程序在移动设备上运行解释器时,是我做错了什么,还是出了什么问题

from kivy.uix.screenmanager import Screen, ScreenManager
from kivy.lang import Builder
from kivy.app import App
class Start(Screen):
  pass
class Filexp(Screen):
  pass
class Shuff(ScreenManager):
  pass
  
sty='''
#:import FadeTransition kivy.uix.screenmanager.FadeTransition
<Shuff>:
    transition:FadeTransition()
    Start:
    Filexp:
<Start>:
    name:'main'
    Button:
        text:'what'
        on_release:app.root.current='exp'
<Filexp>:
    name:'exp'
    GridLayout:
        cols:1
        Button:
            on_release:app.root.current='main'
          
'''
Builder.load_string(sty)
class a(App):
  def build(self):
    return(Shuff())
a().run()
从kivy.uix.screenmanager导入屏幕,screenmanager
从kivy.lang导入生成器
从kivy.app导入应用程序
课程开始(屏幕):
通过
类Filexp(屏幕):
通过
类Shuff(屏幕管理器):
通过
sty=''
#:导入FadeTransition kivy.uix.screenmanager.FadeTransition
:
转换:FadeTransition()
开始:
Filexp:
:
姓名:'main'
按钮:
文本:'什么'
发布时:app.root.current='exp'
:
名称:'exp'
网格布局:
科尔斯:1
按钮:
发布时:app.root.current='main'
'''
生成器加载字符串(sty)
a类(应用程序):
def生成(自):
返回(Shuff())
a().run()

确保您的类名以大写字母开头,kv使用此字母将它们与kv属性区分开来。在本例中,我认为它添加了具有这些名称的属性,而不是您期望的子窗口小部件。非常感谢您