【问题标题】:KivyMD how to get focused textfield's id using on_focus eventKivyMD 如何使用 on_focus 事件获取焦点文本字段的 id
【发布时间】:2020-10-25 19:38:16
【问题描述】:

当用户关注条形码文本字段时,我想打开手机的摄像头。

但是,即使您关注另一个文本字段,也会触发 on_focus 事件。我必须以某种方式确保焦点文本字段是条形码文本字段。我该怎么做?

on_double_tap 事件似乎解决了我的问题,但我想一键打开相机。

这是我的相关 .kv 代码:

GridLayout:
    rows: 4
    cols: 1
    row_default_height: 40
    padding: [10,70,10,10]
    spacing: 0

    MDTextField:
        id: txt_barcode_3
        hint_text: "Barkod"
        on_focus: root.barcode_camera_insert()
        
    MDTextField:
        id: txt_reference_3
        hint_text: "Referans"
        
    MDTextField:
        id: txt_productname_3
        hint_text: "Ürün Adı"
        
    MDRectangleFlatButton
        id: btn_save_3
        text: "Kaydet"
        font_size: "20sp"
        size_hint: 1,0  
        on_press: root.add_barcode()

【问题讨论】:

    标签: python kivy kivymd


    【解决方案1】:

    on_focus 事件在focus 更改时触发,即使它从True 更改为False。所以你的root.barcode_camera_insert() 在任何一种情况下都会被调用。我没有对此进行测试,但请尝试:

    on_focus: root.barcode_camera_insert() if self.focus else None
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-06
      • 2012-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多