Android 在一个build.load_字符串中引用多个python类
我有一个python文件,它应该引用Builder.load\u字符串中的多个类firstscreenScreen和secondscreenScreen。 然而,它所做的是显示错误unknow类SecondScreen屏幕。我猜这是因为它只搜索第一类而忽略其他类。我已经在这里删除了不可逆转的代码。如何在一个buildloader中包含两个或多个文件有没有包含2个buil.load_字符串并仍然能够切换屏幕的选项Android 在一个build.load_字符串中引用多个python类,android,python,kivy,Android,Python,Kivy,我有一个python文件,它应该引用Builder.load\u字符串中的多个类firstscreenScreen和secondscreenScreen。 然而,它所做的是显示错误unknow类SecondScreen屏幕。我猜这是因为它只搜索第一类而忽略其他类。我已经在这里删除了不可逆转的代码。如何在一个buildloader中包含两个或多个文件有没有包含2个buil.load_字符串并仍然能够切换屏幕的选项 from kivy.app import App from kivy.uix.scr
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.widget import Widget
from kivy.uix.button import Button
from kivy.core.window import Window
from kivy.lang import Builder
from kivy.uix.button import Button
Builder.load_string("""
#:kivy 1.9.0
<firstscreenScreen>:
Word:
<secondscreenScreen>:
WordList:
Label:
id: label1
text: self.parent.txt1
""")
class Word(Widget):
pass
class firstscreenScreen(Screen):
pass
class secondscreenScreen(Screen):
pass
class ScreenManager(ScreenManager):
pass
sm = ScreenManager()
sm.add_widget(firstscreenScreen(name='firstscreen'))
sm.add_widget(secondscreenScreen(name='secondscreen'))
class WordApp(App):
def build(self):
Window.clearcolor = (0,0,0.3,1)
return sm
if __name__ == '__main__':
WordApp().run()
class WordList(Widget):
txt1 = "abc"
class firstscreenScreen(Screen):
pass
class secondscreenScreen(Screen):
pass
class WordListApp(App):
def build(self):
Window.clearcolor = (0,0,0.3,1)
return sm
if __name__ == '__main__':
WordListApp().run()
从kivy.app导入应用
从kivy.uix.screenmanager导入screenmanager,屏幕
从kivy.uix.widget导入widget
从kivy.uix.button导入按钮
从kivy.core.window导入窗口
从kivy.lang导入生成器
从kivy.uix.button导入按钮
生成器。加载\u字符串(“”)
#:kivy 1.9.0
:
字:
:
字表:
标签:
id:label1
文本:self.parent.txt1
""")
类词(小部件):
通过
类第一屏幕屏幕(屏幕):
通过
第二类屏幕(屏幕):
通过
类屏幕管理器(屏幕管理器):
通过
sm=屏幕管理器()
sm.add_小部件(firstscreenScreen(name='firstscreen'))
sm.add_小部件(secondscreenScreen(name='secondscreen'))
类WordApp(应用程序):
def生成(自):
Window.clearcolor=(0,0,0.3,1)
返回sm
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
WordApp().run()
类字列表(小部件):
txt1=“abc”
类第一屏幕屏幕(屏幕):
通过
第二类屏幕(屏幕):
通过
类别WordListApp(应用程序):
def生成(自):
Window.clearcolor=(0,0,0.3,1)
返回sm
如果uuuu name uuuuuu='\uuuuuuu main\uuuuuuu':
WordListApp().run()
您试图在定义类之前使用它们。将类定义移动到load_string命令之前。为什么有2\uuuu main\uuu
?我忘了删除第二个main编辑并改进缩进,我看到的另一个错误是单词class没有定义。它确实有区别,但仍然没有按照我希望的方式工作。我在两个屏幕上都有很多代码,但它只是显示一个空白的蓝色屏幕。很高兴听到它修复了您的第一个问题。当你说没什么区别时,我很困惑。从您的示例代码中不清楚您希望它做什么,因此我建议发布一个新问题,其中包含您遇到的新问题。