【问题标题】:Python 3: destroy tkinter window after calling lambda function, without quitting the programPython 3:调用 lambda 函数后销毁 tkinter 窗口,而不退出程序
【发布时间】:2017-12-09 12:58:16
【问题描述】:

所以,我想在什么时候关闭 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()

【问题讨论】:

  • 我修正了您的代码格式,但请检查它是否正确。
  • 您收到的错误信息是什么?

标签: python python-3.x tkinter


【解决方案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))    

它将更具可读性。

【讨论】:

  • 谢谢!那么,按下按钮后,函数将被调用并关闭窗口?
猜你喜欢
  • 1970-01-01
  • 2020-02-22
  • 1970-01-01
  • 2019-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多