设置textinput的width属性

时间:2014-08-13 21:31:38

标签: kivy textinput

我以与展示应用程序相同的方式创建了一个小部件。但是我没有在api documentation中看到任何限制输入字段宽度的内容。如何设置宽度?

CTextInput:
    size_hint_y: None
    height: '32dp'
    multiline: False
    hint_text: 'SNMP Community String(s)'

1 个答案:

答案 0 :(得分:4)

width我假设您的文字长度,因为设置小部件的width就像设置height一样简单。

您链接的文档中有example of text filtering,可以轻松修改以限制长度:

class MyTextInput(TextInput):
    def insert_text(self, substring, from_undo=False):
        # limit to 5 chars
        substring = substring[:5 - len(self.text)]
        return super(MyTextInput, self).insert_text(substring, from_undo=from_undo)


如果您正在运行Kivy的开发版本(1.8.1-dev,来自git),这更容易,可以从kv完成。您可以使用可调用input_filter来限制文本的长度。这是一个简单的例子:

TextInput:
    # limit to 5 chars
    input_filter: lambda text, from_undo: text[:5 - len(self.text)]