【问题标题】:self.root.ids is empty even after giving ids in kivyMD即使在 kivyMD 中提供了 ID,self.root.ids 也是空的
【发布时间】:2022-04-19 14:10:57
【问题描述】:

我正在尝试使用 kivyMD 创建一个漂亮的登录屏幕。我正在使用屏幕管理器来处理不同的屏幕。另外我正在使用 MDToolbar 和 MDBottomNavigationItem 来创建不同的屏幕。

问题是前端运行良好。但是,当我将 id 分配给文本字段或标签时,它不会添加到 self.root.ids。我试图打印 self.root.ids 但它是一个空字典。

来自 Python:

print(self.root.ids)

给出一个空字典{}。

来自 KV:

print(app.root.ids)

相同的输出{}。

我找不到原因,而且在尝试解决问题的代码时遇到了一些错误,例如 __getattr__ 属性错误。

这就是我将 id 分配给文本字段的方式:

MDTextField:
    id: username

感谢您的帮助。

【问题讨论】:

标签: python python-3.x kivy kivy-language kivymd


【解决方案1】:

我有像你这样的问题并解决它。 我创建了多个屏幕,但 self.root.ids.id 不起作用,我必须为函数添加参数。

WindowManager:
    MainWindow:
    SecondWindow:
<MainWindow>:
    name: "welcom"

    .
    .
    .

<SecondWindow>:
    name: "login"
    MDTextFieldRound:
                id: userlogin
    MDTextFieldRound:
                id: passwordlogin
    MDFillRoundFlatButton:
                text: "Login"
                on_press: app.login(userlogin , passwordlogin)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多