Tkinter退出冻结

时间:2017-12-05 10:42:44

标签: python tkinter

我编写了一段非常简单的代码片段,只是为了尝试tkinter

import tkinter as tk

root=tk.Tk()
frame = tk.Frame(root).pack()
button = tk.Button(frame,
                   text="next",
                   command=root.quit).pack()
root.mainloop()

上面的代码导致窗口冻结。有人可以向我解释这种行为背后的原因是什么?

3 个答案:

答案 0 :(得分:6)

从初始化行分隔pack()将解决您的问题。

import tkinter as tk
root=tk.Tk()
frame=tk.Frame(root)
frame.pack()
button = tk.Button(frame,text="next",command=root.quit)
button.pack()
root.mainloop()

答案 1 :(得分:1)

在游戏中为时已晚,但是我之前也遇到过类似的问题。我正在使用Jupyter Notebook运行代码。

使用command=root.quit代替使用command=root.destroy。我不是专家,但是如果我理解正确,root.quit也会尝试退出IDE,而root.destroy只会退出Tkinter窗口。

答案 2 :(得分:0)

我遇到了同样的问题。

我使用的是 Python 3.7 和 Spyder。主要问题是 Spyder,而不是代码。 我改用 Jupyter Notebook 并且成功了。