如何从文本文件加载字符串到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.
老实说,我已经在 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.