【问题标题】:Kivymd card button functionalityKivymd 卡按钮功能
【发布时间】:2020-08-22 11:03:38
【问题描述】:

我使用 kivy、kivymd 和 python 制作了一个简单的应用程序。 md 卡中的 on_release 功能不起作用,下面是我的代码 sn-p。

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()

【问题讨论】:

    标签: python kivy


    【解决方案1】:

    您必须小心您在 kv 字符串中使用的制表符。首先,您从 Screen 声明之前的选项卡开始。那是行不通的。然后,您必须在声明 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()
    

    【讨论】:

      【解决方案2】:

      您的代码的问题是 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()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2022-07-17
        • 2020-09-17
        • 1970-01-01
        • 1970-01-01
        • 2021-01-08
        • 2016-07-04
        • 1970-01-01
        相关资源
        最近更新 更多