如何在 MD 文本字段上设置光标并通过按 Tab 键移动光标

How to set a cursor at a MDtextfield and move cursor by pressing Tab key

Python 3.9 和 KivyMD

我有一个弹出窗口 window class 并且有 3 个 MD 文本字段用于获取输入数据和 2 个按钮用于计算输入数据。

  1. 我想在程序运行时将光标设置在MDtextfield之一,然后通过按Tab键移动光标。

  2. 完成所有 MD 文本字段后,当您按 Tab 键时,光标会移动到下一个可用按钮。

在 ttk,我使用了 icursor(),但是在 MDtextfields 中,我找不到任何信息,相当于 icursor()。

TTK 示例,

self.e_ptName = ttk.Entry(self, font= LARGE_FONT)

self.e_ptName.icursor(0)

但我想在 KivyMD 中做同样的事情。

我有一个py文件和一个kv文件。

在此先感谢您的帮助。

谢谢。

例如,main.py ''' class右美托咪定(弹出窗口):

ptName = ObjectProperty(None)
ptAdminWeight = ObjectProperty(None)
ptIdealWeight = ObjectProperty(None)


def on_open(self):
    selsf.ptName.icursor(0)    # this does not work
    self.ptAdminWeight.icursor(1)  # this does not work

'''

kv文件 ''' MD文本字段: id: 点名 hint_text: "患者姓名" line_color_focus: 0,0,0,1 font_size: '30sp'

MD 文本字段: id:ptAdminWeight input_filter: "浮动" hint_text: "录取权重" 要求:真实 font_size: '30sp' line_color_focus: 0.9,0.75,0,1 '''

我找到了问题的答案。

答案:在Kivy文件中,“write_tab: False”就是答案。然后,当您按下 Tab 键时,光标会跳转到下一个可用的小部件。

此外,您可以使用:“focus:True”在程序启动时获取特定小部件上的光标。