程序终止时,最终的Tkinter窗口不会关闭

时间:2018-07-27 09:41:43

标签: python tkinter macos-high-sierra

我正在使用 Tkinter 生成一个带有按钮的窗口,以关闭该窗口并继续执行该程序。但是,当按下按钮并调用top.destroy()时,主循环结束,程序继续运行,但是窗口被留下,窗口变得没有响应。

我正在使用的代码在这里:

from Tkinter import *

top = Tk()
w = Button(top, text="Close", command=top.destroy)
w.pack()
top.mainloop()


print("program ended")

A screengrab demonstrating the issue。出现窗口时,不应显示程序结束。

我该怎么做,以便在通过IDLE运行程序时按下按钮时窗口会关闭?

我在 Python 2.7 Python 3.6 (两者中都存在相同问题)中使用 IDLE em> Python的em> Anaconda安装,MacOS High Sierra版本10.13.6

1 个答案:

答案 0 :(得分:0)

您正在创建Tk()的两个实例,不应创建两个实例。

除此之外;删除行:

top = Tk()
w = Button(top, text="Close", command=top.destroy)
w.pack()
top.mainloop()

它似乎工作正常。

还是我误会了你想要的是什么...?