用于 MDTextField 的带有 Kivy / KivyMD 的数字键盘
Posted
技术标签:
【中文标题】用于 MDTextField 的带有 Kivy / KivyMD 的数字键盘【英文标题】:Numeric Keyboard with Kivy / KivyMD for MDTextField 【发布时间】:2021-11-29 18:31:10 【问题描述】:如何使文本字段使用数字 android 键盘而不是带有所有字母的普通键盘? 注意:我正在使用 KivyMD MDTextFields 因此,当我单击以在文本字段中写入时,会出现这样的键盘:
Like in this picture
【问题讨论】:
看来 android 的数字键盘可以在 kivy 中使用,但我会查看有关它的更多信息,现在这个链接可能会有所帮助github.com/kivy/kivy/issues/7545 请提供足够的代码,以便其他人更好地理解或重现问题。 【参考方案1】:我遇到了同样的问题,我发现一篇文章说在你的 MDTextField 中使用input_type: 'number'
来打开安卓数字键盘!我正在再次编译我的代码以查看它是否检查。例如:
MDTextField:
id: quantidade
pos_hint: "center_x": .5, "center_y": .5
input_type: 'number'
hint_text: "Qtd."
helper_text_mode: "on_error"
helper_text: 'Insira uma quantidade (Apenas Números, "," e ".")'
【讨论】:
【参考方案2】:在 py 文件中,我为自定义键盘创建了自己的类:
class CustomTextField(MDTextField):
def __init__(self, *args, **kwargs):
self.input_type = "number"
self.input_type = "tel"
self.input_filter = 'float'
self.multiline = False
super().__init__(**kwargs)
然后在KV文件中改行:
p4a.branch = master
到:
p4a.branch = develop
【讨论】:
以上是关于用于 MDTextField 的带有 Kivy / KivyMD 的数字键盘的主要内容,如果未能解决你的问题,请参考以下文章
无法在 MDGridLayout 中添加 kivymd 的 MDTextField
Kivy 无法使用 ScreenManager 获取文本输入
Python kivy(kivymd)如何从MD存储和加载数据