class MainWindow(tk.Frame):
def __init__(self, master=None, **kwargs):
tk.Frame.__init__(self, master, **kwargs)
self.filepath = os.path.expanduser(r'~\Documents\joseDzirehChongToDoList\toDoListSaveFile.json')
self.checkboxList = []
def loadToJSON(self):
with open (self.filepath, 'w') as outfile:
json.dump(self.checkboxList, outfile)
def add(self, name):
self.checkboxArea.add(name)
self.checkboxList.append(name)
self.loadToJSON()
def main():
master = tk.Tk()
master.title("To-Do List (with saving!)")
master.geometry("300x300")
win = MainWindow(master)
win.pack(fill=tk.X)
master.mainloop()
if __name__ == '__main__':
main()
相关功能为loadToJSON()
。它应该将checkboxList加载到名为C:\Users\Josalina\Documents\joseDzirehChongToDoList
的{{1}}中的文件中。我打电话或定义toDoListSaveFile.json
错了吗? loadToJSON()
似乎确实有一个名为MainWindow
的属性,所以我认为这是让我搞砸的号召。
答案 0 :(得分:0)
问题已修复。它实际上是将列表项写入文件中,但是我忘了将文件中的项加载到checkboxList。然后在下次调用loadToJSON()
时,重置checkboxList。