【发布时间】:2013-03-14 16:33:38
【问题描述】:
我用 Tkinter 创建了一个窗口。当我单击退出按钮时,Windows 显示 exe 停止工作。谁能告诉我为什么会这样?我认为问题是self.quit,但我不知道原因。
这里是代码。
from Tkinter import *
class App(Frame):
def __init__(self, master = None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
def createWidgets(self):
self.Quit = Button(self, text = "QUIT", command = self.quit)
self.Quit.pack(side = LEFT)
root = Tk()
app =App(master = root)
app.mainloop()
【问题讨论】:
-
我不知道这些是否会有所帮助,但你不需要倒数第二行中的
master =,并尝试将命令放在 lambda 表达式中(lambda: self.quit)。这在过去帮助我解决了一些奇怪的错误。 -
@ValekHalfHeart:lambda 不是必需的,您关于“奇怪错误”的陈述给人的印象是 Tkinter 是不确定的或不稳定的,但事实并非如此。 Lambda 并不神奇,也无法修复神秘错误。
-
@BryanOakley 这不值得争论,但它确实解决了我的错误。不过,我对 Tkinter 不是很有经验。如果您使用错误,完全可靠的软件仍然会产生“奇怪的错误”。