【发布时间】:2017-12-05 10:42:43
【问题描述】:
我写了一个非常简单的sn-p代码只是为了试试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()
上面的代码导致窗口冻结。有人可以向我解释这种行为背后的原因是什么吗?
【问题讨论】:
-
这可能是因为
pack()方法返回了您分配给frame变量的None。将其更改为frame = tk.Frame(root),并在其下方添加一行frame.pack()。 -
永远不要
x = tk.Button(...).pack()- 将它分成两行。 -
按预期工作,不冻结@常规文本编辑器 + Python 3.6 + TkVersion 8.6 + Windows 7。
-
不知何故链接到this。