【问题标题】:NameError: name 'password' is not defined in KivyNameError:名称“密码”未在 Kivy 中定义
【发布时间】:2021-01-04 02:35:47
【问题描述】:

我正在使用 Kivy 构建一个登录页面,它总是说我有一个名称错误并且没有定义密码。我找到了一些教程,但它们看起来和我的一样,所以我无法找出问题所在。希望有人能帮忙。谢谢

这是我的代码:

FloatLayout:
    TextInput:
        id: "password"
        name: "password"
        multiline: False
        hint_text: 'Enter Password'
        hint_text_color: (1,1,1,.5)
        pos_hint: {'center_y': .45, 'center_x':.5}
        size_hint: .3,.1
        on_text: 
            self.foreground_color: (1,0,0,1)
        foreground_color: (1,1,1,1) 
        background_color: (.14,.15,.30,.5)
        cursor_color: (1,1,1,1)
    Button:
        text:"Submit"
        pos_hint: {'center_y': .3, 'center_x':.5}
        size_hint: .1,.1
        on_release: 
            app.root.current = "dashboard" if password.text == "admin" else "login"
            root.manager.transition.direction = "left"

【问题讨论】:

  • 请分享堆栈跟踪

标签: python authentication kivy kivy-language nameerror


【解决方案1】:

我认为错误是因为您将密码作为字符串而不是变量可能尝试id: password 你有班级仪表板吗?如果不是,您如何切换到仪表板。这就是我学习的方法https://www.youtube.com/watch?v=xaYn4XdieCs

【讨论】:

    【解决方案2】:

    问题是因为您的id"password"。正如 kivy 文档中明确指出的那样,您不应该将您的 id 作为字符串提供。所以,你要做的就是代替id: "password"id: password。然后它就可以正常工作了。

    【讨论】:

    • 如果你觉得我的回答有帮助,那么你可以考虑accept it,让其他人也看到:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    • 2018-01-24
    • 1970-01-01
    相关资源
    最近更新 更多