如何在Kivy中设置TextInput中的光标位置

2024-09-30 04:33:14 发布

您现在位置:Python中文网/ 问答频道 /正文

在调用on_validate()方法之后,我正试图找出如何将注意力集中在我的TextInput小部件上。这样,在点击RETURN后,我可以继续输入而不必用鼠标选择widget。在

当我阅读TextInputdoc时,所有的游标选项似乎都假定光标已经在小部件中。在


Tags: 方法returnon部件选项textinput鼠标widget
2条回答

在文档中显示,要将焦点设置在TextInput上,请执行以下操作:

textinput = TextInput(focus=True)

也许您可以在on_validate方法的末尾再次将focus设置为True。 具体怎么做取决于您是从kv文件调用它还是从main.py调用它

例如,在kv文件中,它看起来像这样:

^{pr2}$

而在main.py中,则需要这样的内容:

class MyTextInput(TextInput):
    def __init__(self, **kwargs):
        super(MyTextInput, self).__init__(kwargs)

    def on_validate(self):
        #do other stuff perhaps
        self.focus = True

下面的片段展示了如何使用Kivy打卡一次时间表在用户按Enter键提交他在单行TextInput中输入的文本后,重置TextInput小部件上的焦点。在

    commandTextInput = ObjectProperty()

。。。在

^{pr2}$

从.kv文件

    TextInput:
        id: command
        background_color: 0,0,0,0
        foreground_color: 1,1,1,1
        focus: True
        #ENTER triggers root.submitCommand()
        multiline: False
        on_text_validate: root.submitCommand()

相关问题 更多 >

    热门问题