[英]Kivy: Can the insert_text() function of TextInput be overrided in kv language?
有没有一种方法只能使用kv语言覆盖TextInput
的insert_text()
函数? 我想将文本限制为仅数字值。 我知道有一种方法可以通过python代码来完成,例如我发现的以下示例:
class NumericInput(TextInput):
def insert_text(self, substring, from_undo=False):
if not from_undo:
try:
int(substring)
except ValueError:
return
super(NumericInput, self).insert_text(substring, from_undo)
但是有没有办法对kv文件中的TextInput小部件执行相同的操作:
<Temperature>:
name: "Temperature"
BoxLayout:
orientation: 'vertical'
Label:
text: "Farenheit"
TextInput:
id: user_input
font_size: 50
size_hint_y: None
insert_text:
如果没有,我如何集成python代码,以便限制TextInput
小部件的输入文本?
您不能从kv语言覆盖该方法。 如果要这样做,只需在其python定义中覆盖Temperature
小部件的方法。
TextInput还具有input_filter
属性,可以将其设置为'int'
或'float'
以仅接受数字。 您可以在kv中设置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.