Kivy не выводит обычный текст, только местоположение объекта - PullRequest
0 голосов
/ 27 февраля 2019

Итак, я пытался создать очень простой текстовый редактор в Kivy.Таким образом, я обошел проблему текста, не появляющегося (через лямбду).Однако на горизонте появилась новая ошибка;экономии.Я хочу сохранить автоматически в обычный текстовый файл.Тем не менее, мой текущий код только сохранить объект (это указатель?) Фактического ввода текста.Спасибо всем, ТАК!

    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 голосов
/ 28 февраля 2019

Замените txtstr = str(txt) в вашем коде на txtstr = txt.text.

0 голосов
/ 27 февраля 2019

TextInput имеет свойство text, где находится текущий контент.

...