按下按钮时保存TextInput - kivy / python

时间:2015-07-14 09:23:54

标签: python kivy

我有一个带按钮的课程"保存游戏",打开一个带有textinput小部件的弹出窗口和一个按钮,我想用它来保存用户文本输入。我试过这个,但它没有用。 如果我在&#34之后打印出文件名;修改"它,它打印出我之前定义的文件名:.txt,而不是Game1.txt或类似的东西。

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()

我在哪里做错了? (我知道这实际上没有保存它,我只想在这里创建名称,我有一个不同的类方法来保存它)

1 个答案:

答案 0 :(得分:0)

我正在查看类似的问题:当用户在文本输入框中键入文本时,但在点击'退出'之前没有回复。按钮,更改将丢失。

您可能想知道这是否也是您的错误。