如何从文本文件加载字符串到kivy标签,Python 3.5

How to load string from text file to kivy label, Python 3.5

老实说,我已经在 Whosebug 上搜索了几天的答案,但我找不到适合我的东西,假设我有一个名为 bind.txt 的文本文件,里面有几个文本行,我如何将该文本文件加载到 kivy 标签?无论是直接还是间接。我一直在努力自学 python,这有点妨碍我构建我的第一个应用程序。提前谢谢你,这是代码。

    from kivy.app import App
    from kivy.uix.label import Label
    from kivy.uix.scrollview import ScrollView
    from kivy.uix.widget import Widget
    from kivy.uix.boxlayout import BoxLayout
    from kivy.lang import Builder
    from kivy.properties import StringProperty
    from kivy.uix.screenmanager import ScreenManager, Screen, FadeTransition

    class MainScreen(Screen):
        pass

    class MainLabel(ScrollView):
        text = StringProperty("")

    class ScreenManagement(ScreenManager):
        pass

    presentation = Builder.load_file("bind.kv")

    class MainApp(App):

        def build(self):
            return presentation

    if __name__ == "__main__":
        MainApp().run()

还有kv文件。

    #: import FadeTransition kivy.uix.screenmanager.FadeTransition

    ScreenManagement:
        transition: FadeTransition()
        MainScreen:


    <MainLabel>:  
        text: #bind.txt here, somehow..
        Label:
            text: root.text
            font_size: 15
            text_size: self.width, None           
            size_hint_y: None
            height: self.texture_size[1]


    <MainScreen>:
        name: "main"
        canvas.before:
            Rectangle:
                pos: self.pos
                size: self.size
                source: 'img/Fundal.png'
        MainLabel

您可以在阅读模式下打开文件,将内容存储在变量中并将其分配给文本属性。

举个例子

with open("bind.txt") as f:
    contents = f.read()
    main_label.text = contents # main_label is an instance of kivy's Label class.