Python 3:在调用lambda函数后销毁tkinter窗口,而不退出程序

时间:2017-12-09 12:58:16

标签: python python-3.x tkinter

所以,我想在

时关闭Tkinter窗口
w = Button(root, text="Tryck här för att skriva till high score lista", command=lambda :high_score(attempts, computer_word_list_for_display))   
w.pack(fill=X)

被按下了。

我试过了

w = Button(root, text="Tryck här för att skriva till high score lista", command=lambda :high_score(attempts, computer_word_list_for_display), root.destroy())    
w.pack(fill=X)

但它只给我一个错误信息。有什么想法吗?

这是整个功能......

def render_game_after(attempts,computer_word_list_for_display):
    root = Tk()

    w = Label(root, text="Detta är spelmenyn. Här kommer några alternativ.", bg = "black",fg = "white")
    w.pack(fill=X)

    w = Button(root, text="Tryck här för att skriva till high score lista", command=lambda :high_score(attempts, computer_word_list_for_display))
    w.pack(fill=X)

    w = Button(root, text="Klicka här för att se ditt resultat i ett annat fönster",command= lambda:render_highscore(attempts, computer_word_list_for_display))
    w.pack(fill=X)

    w = Button(root, text="Tryck här för att avsluta spelet", command=lambda: quit())
    w.pack(fill=X)

    root.mainloop()

1 个答案:

答案 0 :(得分:1)

更好地创造功能,即

def on_quit(a, b):
   high_score(a, b)
   root.destroy()

w = Button(root, text="...", command=lambda:on_quit(attempts, computer_word_list_for_display))    

它更具可读性。