Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Kivymd卡按钮功能_Python_Kivy - Fatal编程技术网

Python Kivymd卡按钮功能

Python Kivymd卡按钮功能,python,kivy,Python,Kivy,我用kivy、kivymd和python制作了一个简单的应用程序。在md卡的发布功能不工作时,我的代码片段如下 from kivy.lang import Builder from kivymd.app import MDApp kv = ''' Screen: MDCard: size_hint: None, None size: "280dp", "180dp" pos_hint: {"center_x": .5,

我用kivy、kivymd和python制作了一个简单的应用程序。在md卡的发布功能不工作时,我的代码片段如下

from kivy.lang import Builder

from kivymd.app import MDApp

kv = '''
    Screen:

        MDCard:
        size_hint: None, None
        size: "280dp", "180dp"
        pos_hint: {"center_x": .5, "center_y": .5}
        ripple_behavior: True
        on_release:print("worked")
'''


class TestCard(MDApp):
    def build(self):
        return Builder.load_string(kv)


TestCard().run()

你必须小心你在kv字符串中使用的标签。首先,您从屏幕声明之前的选项卡开始。那不行。然后,您必须在声明MDCard后设置选项卡以设置其属性。就像这样,它对我很有效:

from kivy.lang import Builder

from kivymd.app import MDApp

KV = '''
Screen:

    MDCard:
        size_hint: None, None
        size: "280dp", "180dp"
        pos_hint: {"center_x": .5, "center_y": .5}
        ripple_behavior: True
        on_release: print("worked")
'''


class TestCard(MDApp):
    def build(self):
        return Builder.load_string(KV)


TestCard().run()

怎么了,你收到错误信息了吗?您还需要在
MDCard
widget

中缩进代码。代码的问题是python语句在.kv文件中不起作用。另一个问题是缩进。因此,只需更改缩进并在TestCard类中创建如下方法:

from kivy.lang import Builder

from kivymd.app import MDApp

kv = '''
Screen:
    MDCard:
        size_hint: None, None
        size: "280dp", "180dp"
        pos_hint: {"center_x": .5, "center_y": .5}
        ripple_behavior: True
        on_release: app.work()
'''


class TestCard(MDApp):
    def build(self):
        return Builder.load_string(kv)

    def work(self):
        print("worked")


TestCard().run()