2015-07-14 4 views
0

У меня есть класс с кнопкой «Сохранить игру», которая открывает всплывающее окно с виджемом textinput и кнопкой, с помощью которой я хотел бы сохранить ввод текста пользователей. Я пробовал это, но он не работает. Если я распечатаю имя файла после его «модификации», он распечатает имя файла, которое я определил заранее: .txt, а не Game1.txt или что-то вроде этого.Сохранить TextInput при нажатии кнопки - kivy/python

class Something(Widget): 
    filename = ".txt" 
    # code for game 
    def save(self,*args): 
     def on_text(instance, value): 
      return value 

     name = TextInput(text="") 
     name.bind(text=on_text) 
     self.filename = "{}.txt".format(name.text) 

     b = BoxLayout() 
     save_button = Button(text="Save file") 
     b.add_widget(save_button) 
     b.add_widget(name) 
     popup = Popup(title="Enter the name:", content=b) 

     save_button.bind(on_release=popup.dismiss) 
     name.bind(on_text_validate=popup.on_dismiss) # I wanted to save it when the user closes the popup 
     popup.open() 

Где я это делаю неправильно? (Я знаю, что это на самом деле не сохранит его, я просто хочу создать имя здесь, у меня есть другой метод класса для его сохранения)

+0

Похоже, вы даже не коснулись имени файла после того, как вы создали всплывающее окно, как его можно установить? – bj0

+0

Вот почему я разместил этот вопрос, потому что не понимаю, как это должно быть сделано. – Larisa

ответ

0

Я смотрю на аналогичную проблему: когда пользователь вводит текст в текстовое поле ввода, , но не попадает в ответ, прежде чем нажать кнопку «exit», изменения будут потеряны.

Возможно, вам захочется узнать, является ли это вашей ошибкой.

Смежные вопросы