ссылаться на несколько классов Python в одной build.load_string - PullRequest
0 голосов
/ 09 октября 2018

У меня есть файл Python, который должен ссылаться на несколько классов firstscreenScreen и secondscreenScreen в Builder.load_string .Однако то, что он делает, показывает ошибку неизвестного класса secondscreenScreen.Я думаю, это потому, что он ищет только первый класс и игнорирует другие.Я удалил неактуальный код здесь.Как включить два или несколько файлов в один сборщик загрузок, есть ли возможность включить 2 build.load_string и при этом иметь возможность переключать экраны?

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()

1 Ответ

0 голосов
/ 09 октября 2018

Вы пытаетесь использовать классы до того, как определили их.Переместите определения классов до команды load_string.

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