【问题标题】:Python+kivy text input on_text_validate eventPython+kivy 文本输入 on_text_validate 事件
【发布时间】:2017-12-01 12:38:40
【问题描述】:

我不知道为什么这总是会导致错误:

千伏

<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 _apply_rule 中的文件“C:\Data\Anaconda3\envs\opp_folder\lib\site-packages\kivy\lang\builder.py”,第 630 行 引发 AttributeError(key)

我做错了什么?

【问题讨论】:

  • 我猜 on_text_validate 是问题所在。也许你只是想要 on_text
  • 已解决。我瞎了

标签: python-3.x events kivy


【解决方案1】:

我只是在评论中添加@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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-07
    • 2019-12-11
    • 2018-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多