1
我有一个简单的应用程序,要求您在TextInput
字段中输入姓名和年龄。 当您单击保存按钮时,将打开一个Popup
,您可以将名称和年龄从TextInput
保存到文件中。Kivy从Popup获取TextInput
问题: 如何在Popup
已打开时访问名称和年龄? 现在,我在打开Popup
之前将TextInput
数据存储在字典中。 此解决方案的工作,但也肯定是一个更优雅的解决方案莫过于:
class SaveDialog(Popup):
def redirect(self, path, filename):
RootWidget().saveJson(path, filename)
def cancel(self):
self.dismiss()
class RootWidget(Widget):
data = {}
def show_save(self):
self.data['name'] = self.ids.text_name.text
self.data['age'] = self.ids.text_age.text
SaveDialog().open()
def saveFile(self, path, filename):
with open(path + '/' + filename, 'w') as f:
json.dump(self.data, f)
SaveDialog().cancel()
是否有办法做到倒退从弹出窗口获取数据并在主应用程序中访问它? – user2067030
@ user2067030是在主窗口小部件类中,'self.save_popup'是弹出对象。所以你可以通过调用它的属性'self.save_popup.whatever_data_you_save_in_there'来访问它的数据 – EL3PHANTEN