我用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()发布于 2020-05-07 17:52:04
你必须小心你在你的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()发布于 2021-02-28 13:00:04
代码的问题是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()https://stackoverflow.com/questions/61652904
复制相似问题