加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

使用kivy textinput的’input_type’属性发出问题

发布时间:2020-12-20 13:11:56 所属栏目:Python 来源:网络整理
导读:嗨我有使用kivy的textinput小部件的input_type属性的问题.事情是我做了两个自定义文本输入我称为StrText我设置input_type =’text’.然后是另一个名为NumText的文本输入,其input_type =’number’. 我在手机上使用kivy启动器对此进行了测试,并注意到一旦我点
嗨我有使用kivy的textinput小部件的input_type属性的问题.事情是我做了两个自定义文本输入我称为StrText我设置input_type =’text’.然后是另一个名为NumText的文本输入,其input_type =’number’.
我在手机上使用kivy启动器对此进行了测试,并注意到一旦我点击NumText输入并带来一个数字键盘,如果我点击StrText,它会带来相同数量的键盘而不是普通的文本键盘.如果你稍微玩一下,你会发现大部分时间都会返回数字键板.
请问我的代码有问题,或者我该如何解决这个问题?
你会在下面找到我的代码

main.py

from kivy.app import App
from kivy.uix.bubble import Bubble
from kivy.core.window import Window

class  BubbleApp(App):
    pass

if __name__ == '__main__':
    Window.fullscreen = False
    BubbleApp().run()

bubble.kv

GridLayout:
    cols: 1
    StrText:
        height: '48dp'
        size_hint_y: None

    Label:
        text: 'Number keyboard below'
        height: '48dp'
        size_hint_y: None
        multiline: False
        font_size: self.height * .5

    NumText:
        height: '48dp'
        size_hint_y: None


<StrText@TextInput>:
    input_type: 'text'
    multiline: False
    font_size: self.height * .5

<NumText@TextInput>:
    input_type: 'number'
    input_filter: 'int'
    multiline: False
    font_size: self.height *.5

解决方法

最近,当我使用Kivy1.10.0构建应用程序时,我遇到了类似的问题.我在Android中使用了默认的键盘应用程序,但它仍在不断地从数字键盘更改为文本键盘.

这次我尝试了kivy == 1.9.1与Cython == 0.23.1和buildozer == 0.32来构建.apk并且它对我有用.

注意:

我建议创建一个virtualenv来安装上面的特定包,并使用它来创建.apk文件.

virtualenv build32env
source build32env/bin/activate
pip install buildozer==0.32 Cython==0.23.1

执行buildozer init后,请确保更改buildozer.spec文件:

requirements = kivy

requirements = kivy==1.9.1

否则它将使用最新的kivy版本来构建.apk文件.

More details about buildozer

希望它能帮到别人!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读