如何在.kv文件中将标签的文本值设置为全局变量?

时间:2019-08-27 20:49:24

标签: python kivy

我的程序的一部分涉及用户在其中输入自己的文本。 我希望标签更改为输入的值,该值将存储在全局变量中。

基本上发生了什么

chosen = StringProperty()
<MainScreen>:
    BoxLayout:
        id:layout
        orientation: "vertical"
        Label:
            id: lab
            text: #What do I put here?
            font_size: 25
            padding: 10, 0
            text_size: root.width, None
            size: self.texture_size
            size_hint_y:3

我希望文本随着变量的变化而变化,并且我想控制2个不同类的变量值。

2 个答案:

答案 0 :(得分:0)

您可以使用app关键字来访问python脚本中的变量

text: app.chosen

答案 1 :(得分:0)

如果您接受.py文件中的输入,则可以使用ObjectProperty

.kv文件

<MainScreen>:
    BoxLayout:
        id:layout
        lab:lab
        orientation: "vertical"
        Label:
            id: lab
            text: 'anything'
            font_size: 25
            padding: 10, 0
            text_size: root.width, None
            size: self.texture_size
            size_hint_y:3

.py文件中

lab = ObjectProperty()
txt = input('Dear User, please enter a value : ')
self.lab.text=txt

此代码需要进入mainscreen的事件处理函数中。由于您尚未发布完整的代码,因此无法向您显示。

希望这会有所帮助。

干杯!