扩展面板未在Kivymd中扩展

时间:2020-05-20 19:06:29

标签: kivy python-3.7 kivy-language expansion

我在kivymd中的MDExpansionPanel没有扩展,我已经在.kv文件中编写了该代码

这是我的.py文件

from kivymd.app import MDApp


class TtApp(MDApp):
    pass


TtApp().run()

这是我的.kv文件

Screen:
    BoxLayout:
        orientation: "vertical"

        MDExpansionPanelTwoLine:
            text: ''
            secondary_text: 'email: xxxxx@gmail.com'

            IconLeftWidget:
                icon: "email"

        TwoLineAvatarListItem:
            text: ''
            secondary_text: 'to: @gmail.com'

            IconLeftWidget:
                icon: "email"

1 个答案:

答案 0 :(得分:0)

我知道了它的工作原理,我认为它与您的设置方式完全相同。

似乎您必须通过Python而非KV语言来构建MDExpansionPanel。另外,您还必须为content对象定义panel_clsMDExpansionPanel

您是新来的main.py

from kivymd.app import MDApp
from kivymd.uix.boxlayout import MDBoxLayout
from kivymd.uix.expansionpanel import MDExpansionPanel, MDExpansionPanelTwoLine
from kivymd import images_path


class Content(MDBoxLayout):
    pass


class TtApp(MDApp):

    def on_start(self):
        self.root.ids.box.add_widget(
            MDExpansionPanel(
                icon=f"{images_path}folder.png", # need an email .png here
                content=Content(),
                panel_cls=MDExpansionPanelTwoLine(
                    text='',
                    secondary_text='email: xxxxx@gmail.com',
                )
            )
        )


TtApp().run()

这是您的新tt.kv:

<Content>:
    adaptive_height: True

    TwoLineAvatarListItem:
        text: ''
        secondary_text: 'to: @gmail.com'

        IconLeftWidget:
            icon: "email"

Screen:
    BoxLayout:
        orientation: "vertical"
        id: box