我正在使用 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 。
答案 0 :(得分:0)
您正在创建Tk()
的两个实例,不应创建两个实例。
除此之外;删除行:
top = Tk()
w = Button(top, text="Close", command=top.destroy)
w.pack()
top.mainloop()
它似乎工作正常。
还是我误会了你想要的是什么...?