У меня есть класс с кнопкой «Сохранить игру», которая открывает всплывающее окно с виджемом 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()
Где я это делаю неправильно? (Я знаю, что это на самом деле не сохранит его, я просто хочу создать имя здесь, у меня есть другой метод класса для его сохранения)
Похоже, вы даже не коснулись имени файла после того, как вы создали всплывающее окно, как его можно установить? – bj0
Вот почему я разместил этот вопрос, потому что не понимаю, как это должно быть сделано. – Larisa