我以与展示应用程序相同的方式创建了一个小部件。但是我没有在api documentation中看到任何限制输入字段宽度的内容。如何设置宽度?
CTextInput:
size_hint_y: None
height: '32dp'
multiline: False
hint_text: 'SNMP Community String(s)'
答案 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)]