Как загрузить MDScreen из другого kv файла?
from kivy.lang import Builder
from kivy.properties import ObjectProperty
from kivymd.uix.screen import MDScreen
from kivymd.app import MDApp
class Calc(MDScreen):
screen_manager = ObjectProperty()
nav_drawer = ObjectProperty()
def set_screen(self, key):
self.nav_drawer.set_state("close")
self.screen_manager.current = key
class Example(MDApp):
def build(self):
self.theme_cls.primary_palette = "Orange"
self.theme_cls.theme_style = "Dark"
return Builder.load_file('Editor.kv')
if __name__ == '__main__':
Example().run()
Строки после id: screen_manager
<Calc>:
MDBoxLayout:
orientation: 'vertical'
spacing: 20
MDRectangleFlatIconButton:
text_color: [0.7,0.7,0.7,1]
icon_color: [0.7,0.7,0.7,1]
line_color: 0, 0, 0, 0
font_size: '24sp'
icon_size: '30sp'
icon: "calculator"
text: 'Calculator'
on_release: root.set_screen(self.text)
MDRectangleFlatIconButton:
text_color: [0.7,0.7,0.7,1]
icon_color: [0.7,0.7,0.7,1]
line_color: 0, 0, 0, 0
font_size: '24sp'
icon_size: '30sp'
icon: "circle-off-outline"
text: 'Circle'
on_release: root.set_screen(self.text)
MDRectangleFlatIconButton:
text_color: [0.7,0.7,0.7,1]
icon_color: [0.7,0.7,0.7,1]
line_color: 0, 0, 0, 0
font_size: '24sp'
icon_size: '30sp'
icon: "triangle-outline"
text: 'Triangle'
on_release: root.set_screen(self.text)
MDRectangleFlatIconButton:
text_color: [0.7,0.7,0.7,1]
icon_color: [0.7,0.7,0.7,1]
line_color: 0, 0, 0, 0
font_size: '24sp'
icon_size: '30sp'
icon: "rectangle-outline"
text: 'Rectangle'
on_release: root.set_screen(self.text)
MDScreen:
MDTopAppBar:
pos_hint: {"top": 1}
elevation: 4
title: "MDNavigationDrawer"
left_action_items: [["menu", lambda x: nav_drawer.set_state("open")]]
MDNavigationLayout:
MDScreenManager:
id: screen_manager
MDScreen:
name: 'Calculator'
MDLabel:
text: 'Calculator'
MDScreen:
name: 'Circle'
MDLabel:
text: 'Circle'
MDScreen:
name: 'Triangle'
MDLabel:
text: 'Triangle'
MDScreen:
name: 'Rectangle'
MDLabel:
text: 'Rectangle'
MDNavigationDrawer:
id: nav_drawer
radius: (0, 16, 16, 0)
Calc:
screen_manager: screen_manager
nav_drawer: nav_drawer
Чтобы с каждым отдельным скрином можно было работать в разных файлах.