代码:
from kivymd.app import MDApp
from kivy.properties import ObjectProperty
from kivy.lang import Builder
KV = """
MDScreen:
submit_btn: submit_btn
MDRaisedButton:
id: submit_btn
text:'Submit'
on_press: app.btn()
"""
class Test(MDApp):
submit_btn = ObjectProperty(None)
def build(self):
return Builder.load_string(KV)
def btn(self):
print(self.submit_btn.state)
Test().run()
按下按钮时,我收到以下错误:
AttributeError: 'NoneType' object has no attribute 'state'
我无法访问id
小部件。我究竟做错了什么?
这与您几分钟前的上一个问题非常相似:self.submit_btn
除了 None 之外,您还没有设置任何内容。看起来您在 kv 规则中尝试过,但实际上您已经设置了MdScreen
作为根小部件的实例的属性,访问方式为self.root.submit_btn
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句