当我在 kivy(python) 中按下按钮时如何打开 MDCard?

时间:2021-07-10 16:50:01

标签: python kivy kivymd

我在屏幕上有一个按钮,我想在按下这个按钮时打开 MDCard。我编写了与 Popup 相同的代码,但是 MDCard 对象没有“打开”属性。如何打开MyMDCard

#: import Factory kivy.factory.Factory

<Second>:
    FloatLayout:
        Button:
            text:"Open MDCard"
            size_hint: .3, .07 
            pos_hint: {"x":.07, "y":0.25} 
            on_release: Factory.MyMDCard().open()

<MyMDCard@MDCard>
    orientation: "vertical"
    canvas.before:
        Rectangle:
            pos: self.pos
            size: self.size
            source: 'Blue.png'

    FloatLayout:    
        Button:
            id: 'change'

1 个答案:

答案 0 :(得分:2)

MDCard 不是 Popup,它只是另一个 Widget。因此,要显示 MDCard,您必须通常使用 App 中已有的某个容器的 add_widget() 方法将其添加到 App。例如,而不是:

on_release: Factory.MyMDCard().open()

试试:

on_release: root.add_widget(Factory.MyMDCard())