Kivy不输出纯文本,仅输出对象位置

时间:2019-02-27 07:36:07

标签: python python-3.x text file-io kivy

所以我试图在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()  

编辑:拼写

2 个答案:

答案 0 :(得分:0)

TextInput具有text属性,这是当前内容所在的位置。

答案 1 :(得分:0)

将代码中的txtstr = str(txt)替换为txtstr = txt.text