Я новичок в Kivy и столкнулся с проблемой.У меня есть класс «MainPanel», который содержит четыре класса «Навигация», «Изображения», «Конфиг» и «Информация».Я хочу, чтобы при нажатии кнопки в классе «Навигация» текущий экран изменялся с помощью диспетчера экрана в классе «Информация».
Вот мой код: Main.py:
class Navigation(FloatLayout):
pass
class Information(ScreenManager):
pass
class SlothFacts(Screen):
pass
class KiwiFacts(Screen):
pass
class MainPanel(GridLayout):
pass
Builder.load_file("mainPanel.kv")
class Complex(App):
def build(self):
return MainPanel()
if __name__ == "__main__":
Complex().run()
mainPanel.kv:
#:include navigation.kv
#:include images.kv
#:include config.kv
#:include information.kv
<MainPanel>:
cols:2
Navigation:
Images:
Config:
Information:
Navigation.kv:
<Navigation>:
Button:
text:"Kiwi"
size_hint:(.3, .2)
pos_hint:{'x':.1, 'y':.25}
#on_press: <--- Change screen to kiwi in Information class
Information.kv:
#: import FadeTransition kivy.uix.screenmanager.FadeTransition
<Information>
transition: FadeTransition()
SlothFacts:
KiwiFacts:
<SlothFacts>:
name: "sloth"
Label:
text:"im sloth"
<KiwiFacts>:
name: "kiwi"
Label:
text:"im kiwi"