Как грамотно добавлять виджеты в Kivy?

При попытке добавить новые виджеты у них ставятся координаты (0;0) и я не знаю как расположить их друг за другом. (информация должна генерироваться автоматически и в процессе использования программы она будет меняться)

Что должно в итоге получиться:

Ожидаемый вариант:

python3

from kivy.lang import Builder
from kivymd.uix.boxlayout import MDBoxLayout
from kivymd.app import MDApp
from kivymd.uix.button import MDRectangleFlatButton
from kivy.uix.image import Image

with open('pv.kv') as file:
    KV = file.read()


class ContentNavigationDrawer(MDBoxLayout):
    page_now = 0
    last_scr = ""

    def page_change(self, scr):
        if self.last_scr == scr: return None
        else: self.last_scr = scr

        self.page_now = (self.page_now+1)%2
        self.screen_manager.current = f"page {self.page_now}"
        screen = self.screen_manager.screens[self.page_now]
        screen.clear_widgets()
        screen.add_widget(MDRectangleFlatButton(text="1"))
        screen.add_widget(MDRectangleFlatButton(text="2"))


class TestNavigationDrawer(MDApp):
    def build(self):
        self.theme_cls.theme_style = "Dark"
        self.theme_cls.primary_palette = "Purple"
        self.theme_cls.primary_hue = "200"
        return Builder.load_string(KV)


TestNavigationDrawer().run()

KV

<ContentNavigationDrawer>:
    ScrollView:
        MDList:
            OneLineListItem:
                text: "1"
                on_press:
                    root.nav_drawer.set_state("close")
                    root.page_change("scr 1")
            OneLineListItem:
                text: "2"
                on_press:
                    root.nav_drawer.set_state("close")
                    root.page_change("scr 2")


MDScreen:
    MDToolbar:
        id: toolbar
        pos_hint: {"top": 1}
        elevation: 10
        size: self.x, 50
        title: "test"
        left_action_items: [["menu", lambda x: nav_drawer.set_state("open")]]
    MDNavigationLayout:
        visible: "Selected"
        ScreenManager:
            id: screen_manager
            MDScreen:
                name: "page 0"
                MDLabel:
                    text: "page 0"
                    halign: "center"
            MDScreen:
                name: "page 1"
                MDLabel:
                    text: "page 1"
                    halign: "center"
        MDNavigationDrawer:
            id: nav_drawer
            ContentNavigationDrawer:
                screen_manager: screen_manager
                nav_drawer: nav_drawer

Ответы (0 шт):