KivyMD卸下扩展面板

2024-09-28 23:49:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我很难找到解决方案,如何删除一个扩展面板,其中包含两个带有IconLeftWidget的LineavataListItem,下面是一个带有两个文本标签的MDCard。我尝试使用self.root.ids.remove\u widget(),但它没有任何作用。我试过很多方法,但都没有找到解决办法。这是代码,请随意查看。谢谢

千伏。文件

<Content>:
    adaptive_height: True
    #size_hint: 1, None
    size_hint_y: None
    height: self.minimum_height
    orientation: 'vertical'

    TwoLineAvatarListItem:
        text: "Message"
        secondary_text: 'to: @gmail.com'
        IconLeftWidget:
            icon: 'email'


    MDCard:
        orientation: "vertical"
        padding: "8dp"
        size_hint: None, None
        size: "280dp", "180dp"
        pos_hint: {"center_x": .5, "center_y": .5}

        MDLabel:
            text: "Title"
            theme_text_color: "Secondary"
            size_hint_y: None
            height: self.texture_size[1]


        MDSeparator:
            height: "1dp"

        MDLabel:
            text: "Body"

ScreenManager:
    Screen:
        id: messages
        name: 'messages'
        BoxLayout:
            orientation: 'vertical'
            MDToolbar:
                title: "Messages Center"
                elevation:8
                MDIconButton:
                    icon: 'arrow-left'
                    on_press: screen_manager.current = "main_app_screen"
                    theme_text_color: 'Custom'
                    md_bg_color: app.theme_cls.primary_color
            ScrollView:
                GridLayout:
                    cols: 1
                    size_hint_y: None
                    height: self.minimum_height
                    id: box

.py python文件

class DemoApp(MDApp):
    def on_start(self):
        for i in range(10):
            panel = MDExpansionPanel(
                    icon=f"{images_path}folder.png",
                     content=Content(),
                    panel_cls=MDExpansionPanelTwoLine(
                        text='',
                        secondary_text=str(i) + ' email: xxxxx@gmail.com',))

            self.root.ids.box.add_widget(panel)

DemoApp().run()

Tags: textselfnonesizerootthemecoloricon
1条回答
网友
1楼 · 发布于 2024-09-28 23:49:39
<Content>:
    [...]


    MDCard:
        [...]

        MDRaisedButton:
            text: "REMOVE"
            on_release: app.remove(root)

        [...]



class DemoApp(MDApp):
    [...]

    def remove(self, content):
        self.root.ids.box.remove_widget(content.parent)

相关问题 更多 >