2017-02-16 77 views
0
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加載到名爲toDoListSaveFile.json的文件C:\Users\Josalina\Documents\joseDzirehChongToDoList中。我打電話還是定義loadToJSON()錯? MainWindow看起來似乎有一個名爲loadToJSON()的屬性,所以我認爲這是導致我搞砸了。爲什麼我的列表中的項目不保存爲JSON?

+0

您應該閱讀關於提出SO的幫助文件。在這個問題的情況下,最重要的事情就是將您的代碼縮減爲幾行,以顯示您遇到的困難。 –

+0

@BillBell它已被修剪 –

+0

:)修剪更多,更多。典型的我們只想讀大約15行左右。 –

回答

0

問題修復。它實際上是將列表項目寫入文件中,但我忘記了將文件中的項目加載到checkboxList。然後在下次調用loadToJSON()時,它重置checkboxList。

相關問題