所以我试图在Kivy中创建一个非常基本的文本编辑器。所以我解决了文本不显示的问题(通过lambda)。然而,一个新的错误即将出现。保存。我想自动保存为纯文本文件。但是,我当前的代码仅保存实际文本输入的对象(是否是指针?)。谢谢大家!
import kivy
import os
kivy.require('1.10.1') # replace with your current kivy version !
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.textinput import TextInput
from kivy.uix.label import Label
from kivy.clock import Clock
from kivy.uix.button import Button
from kivy.lang import Builder
class ColdKivyApp(App): # I actually used to call it Zone but changed it to Cold cause it's cold outside ;)
def build(self):
f = BoxLayout(orientation='vertical')
txt = TextInput(multiline=True, cursor_blink=True, background_color=(1,1,1,1))
f.add_widget(txt)
txtstr = str(txt)
Clock.schedule_once(lambda *args: setattr(txt, "focus", True))
with open('testtxt.txt', 'w') as txtwriter:
txtwriter.write("" + txtstr)
txtwriter.close()
return f
if __name__ == '__main__':
ColdKivyApp().run()
编辑:拼写
答案 0 :(得分:0)
TextInput具有text
属性,这是当前内容所在的位置。
答案 1 :(得分:0)
将代码中的txtstr = str(txt)
替换为txtstr = txt.text
。