将一行文本从文件加载到 Kivy 标签

Loading one line of text from file to Kivy label

我想制作一个简单的程序,它只显示存储在文本 file.One 标签和按钮中的定义以显示下一个定义。我试着用文档来做,但我找不到如何将文本加载到标签中。有人可以向我展示一些好的资源或代码示例吗?

我现在的代码(我想在 kivy 网站的示例之上构建):

import kivy
kivy.require('1.9.0')

from kivy.app import App
from kivy.uix.label import Label
class MyApp(App):
    def build(self):
        return Label(text = 'Hello world')

if __name__ == '__main__':
    MyApp().run()

更新 UI 中的小部件的最简单方法是 binding to their properties. This can be done in code, but the real power of kivy in my opinion comes from using it's declarative UI language。使用 kv,您可以获得自动绑定。

以下是您可以执行的操作的简单示例:

from kivy.app import App
from kivy.lang import Builder
from kivy.properties import StringProperty

kv = '''

BoxLayout:
    orientation: 'vertical'
    Label:
        text: app.text
    Button:
        text: 'click me'
        on_press: app.clicked()

'''


class MyApp(App):
    text = StringProperty("hello world")

    def build(self):
        return Builder.load_string(kv)

    def clicked(self):
        self.text = "clicked!"


if __name__ == '__main__':
    MyApp().run()

在 UI 的 kv 描述中,您告诉 kivy 您希望 Label 上的文本绑定到您在 [=19= 上定义的应用程序上的 StringProperty ].自动绑定意味着任何时候你为 属性 设置一个值(就像在点击函数中一样),UI 将自动更新为新值。