首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为Kivy TextInput编写“鬼怪”(或不可通过的)文本?

如何为Kivy TextInput编写“鬼怪”(或不可通过的)文本?
EN

Stack Overflow用户
提问于 2017-01-01 00:43:45
回答 1查看 304关注 0票数 1

在一个kivy应用程序中,我有一些文本输入小部件,我想把它贴上幽灵文本的标签。所谓鬼文本,我的意思是它没有传递值给以后要调用的数字。

例如,我在一个kivy应用程序中有两个文本输入条目。

代码语言:javascript
运行
复制
TextInput:
    text: '1st number'
    id: first_id
    input_filter: 'float'
    multiline: False

TextInput:
    text: '2nd number'
    id: second_id
    input_filter: 'float'
    multiline: False

当应用程序运行时,第一文本输入具有默认文本“第一编号”,第二文本输入具有默认文本“第二编号”。我将它们链接到一个函数,该函数通过一个方法将两个浮点数相加在一起。问题是,如果用户没有输入任何内容并按下"run“按钮,它就会破坏应用程序。是否有办法使文本不能传递到函数?

而且,我希望它在后台,这样用户就不必点击文本输入,然后在输入数字之前删除“第一个数字”,有什么办法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-03 20:59:11

我想我已经创建了一个很小的例子,它创建了你想要的行为。我创建了一个带有TextInput label 的新小部件,它在值为空的情况下只显示标签.

代码语言:javascript
运行
复制
a = Builder.load_string("""

<FloatInput@FloatLayout>:
    empty_text: "Input a number"
    value: float(txt.text or '0.0')
    TextInput:
        id: txt
        input_filter: 'float'

    Label:
        center: txt.center
        size: self.parent.size or (300,300)
        text: "" if self.parent.value else self.parent.empty_text
        font_size: txt.font_size
        color: 0,0,0,1

BoxLayout:
    FloatInput:
        id: fi
    Label:
        text: "%s" % fi.value

""")




class SimpleApp(App):
    def build(self):
        return a

SimpleApp().run()

您可以使用这个类作为输入小部件..。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41412608

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档