Python + kivy文本输入on_text_validate事件

问题描述 投票:1回答:1

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

<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'\d\d-\d\d\d\d\d\d')
        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)

我究竟做错了什么?

python-3.x events kivy
1个回答
0
投票

我只是在评论中添加@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
© www.soinside.com 2019 - 2024. All rights reserved.