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

时间:2016-03-09 15:25:33

标签: python-3.x text label bind kivy

我一直在寻找stackoverflow的答案,现在说实话,但是我找不到适合我的东西,让我说我有一个名为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

1 个答案:

答案 0 :(得分:0)

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

例如

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