0

我正在尝试访问 main.py 中的 id:container,但似乎找不到正确的输入。这是我的 main.py

class ScreenFive(Screen):
  def on_start(self):
    for i in range(20):
        self.ids.screen_manager2.classes.container.add_widget(
            OneLineListItem(text=f"Single-line item {i}")
        )

这是我的 main.kv 文件

<ScreenFive>
name: 'home'
FitImage:
    source: 'Media/home_bg.png'
BoxLayout:
    orientation: 'vertical'
    MDToolbar:
        title: 'QR Attendance'
        left_action_items: [["menu", lambda x: nav_drawer.toggle_nav_drawer()]]
        elevation:5
    Widget:
NavigationLayout:
    ScreenManager:
        id: screen_manager2
        Screen:
            name: 'classes'
            MDCard:
                orientation: "vertical"
                padding: "8dp"
                size_hint: None, None
                size: "280dp", "400dp"
                pos_hint: {"center_x": .5, "center_y": .5}
                ripple_behavior: True
                focus_behavior: True
                md_bg_color: self.theme_cls.bg_light

                ScrollView:
                    MDList:
                        id: container

我应该怎么做才能在我的屏幕“类”中访问 MDList?谢谢你。

4

1 回答 1

0

假设<ScreenFive>:你之后的所有内容kv都是缩进的(所以它都在里面ScreenFive),那么我认为你可以替换:

self.ids.screen_manager2.classes.container

和:

self.ids.container
于 2020-08-18T20:39:34.837 回答