Python + kivy文本输入on_text_validate事件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python + kivy文本输入on_text_validate事件相关的知识,希望对你有一定的参考价值。

我无法找出为什么这总是会导致错误:

<OPP_Form>:
    orientation: 'vertical'
    opp_number: kv_OPP_number
    project_name : kv_project_name
    BoxLayout:
        height: "40dp"
        size_hint_y: None
        orientation: "horizontal"
        Label:
            text: "Zadejte OPP cislo"
            multiline: 'False'
            on_text_validate: root.validate_opp()

PY

class OPP_Form(BoxLayout):
    def validate_opp(self):
        oppRegex = regex.compile(r'dd-dddddd')
        if (regex.match(oppRegex, self.opp_number.text) is None):
            print("Wrong OPP number")
        else:
            OPP = self.opp_number.text

我收到以下错误:

AttributeError:text_validate文件“C: Data Anaconda3 envs opp_folder lib site-packages kivy lang builder.py”,第630行,在_apply_rule中引发AttributeError(key)

我究竟做错了什么?

答案

我只是在评论中添加@PalimPalim的答案来帮助其他人

<OPP_Form>:
    orientation: 'vertical'
    opp_number: kv_OPP_number
    project_name : kv_project_name
    BoxLayout:
        height: "40dp"
        size_hint_y: None
        orientation: "horizontal"
        Label:
            text: "Zadejte OPP cislo"
            multiline: 'False'
            on_text: root.validate_opp() //change this line

以上是关于Python + kivy文本输入on_text_validate事件的主要内容,如果未能解决你的问题,请参考以下文章

在 Kivy Python 中使用预定义值创建文本输入

Kivy,Python3.5 - 将用户文本输入绑定到类中的方法

Kivy Python-文本输入框填充整个浮动布局屏幕

Python + kivy文本输入on_text_validate事件

Python Kivy:在文本输入字段中隐藏虚拟键盘

如何将文本输入值添加到kivy python中字典中的值?