请问有没有办法让TextInput禁止使用非ascii字符。因此,如果在输入非ascii字符时将文本输入TextInput,则不会将其添加到TextInput。就像使用int过滤器的方式一样,因此在TextInput中只允许整数 请一个示例代码非常有用。提前致谢
答案 0 :(得分:4)
文档中描述了TextInput过滤,即使是示例:Filter
使用正则表达式检查输入的字符串何时包含想要的字符([A-Za-z0-9 ]
)。如果它通过,则返回字符串。
答案 1 :(得分:3)
一个可能的解决方案是使用带有错误的.decode()='忽略'字符串上的标志(例如textinput)。例如:
"food ресторан".decode("ascii", errors='ignore')
将无声地替换所有可能的字符
编辑**更新了przyczajony建议使用过滤器的示例:
class AsciiInput(TextInput):
def insert_text(self, string, from_undo=False):
string = string.decode("ascii", errors='ignore')
return super(AsciiInput, self).insert_text(string, from_undo=from_undo)