无法在 Python 中访问小部件 ID

玛雅克

代码:

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Kivy:按唯一属性获取小部件ID并访问小部件

Python中Kivy小部件之间的交互

如何从Python代码文件设置Kivy小部件ID

Qthread中父类的Python访问小部件

在Kivy lang和python中访问子窗口小部件属性的值

访问具有ID的动态添加的小部件

在AminActivity.kt中无法识别Android Studio 4.1 Kotlin小部件ID

无法从状态窗口小部件访问属性

实例“小部件”无法在初始化程序中访问

Python Tkinter:访问小部件的子小部件

在Python Qt中访问自定义小部件?

无法在Google App脚本的服务器处理程序中访问调用窗口小部件的标签

如何验证python中的条目小部件?

多个布局中的表单小部件“ id”

Qt-无法访问动态创建的QHBoxLayout小部件

无法从Qt中的另一个窗口小部件访问窗口小部件中的控件

无法在python 3中的gtk小部件上使用cairo绘制路径

__init__中的Kivy窗口小部件ID访问

在 TabbedPanel 中获取小部件/项目 ID

我无法循环访问下拉小部件输出

无法在 Python 3 中获取 tkinter Entry 小部件的内容

无法在卡片小部件中圆角图像

从不同的类访问具有特定 id 的小部件

通过其 id 从 python 文件中删除小部件

我如何解决此错误无法在初始化程序中访问实例“小部件”

无法从颤振中的小部件地图分配小部件

如何从python代码文件为kivy中的小部件设置id

无法在初始化程序中访问实例成员“小部件”。扑

Python - Kivy - on_enter - 无法在屏幕中寻址小部件