【发布时间】:2012-04-17 07:17:43
【问题描述】:
我正在尝试使用 Tkinter,因为我试图弄清楚是否有一种方法可以在不使用画布的情况下设置 tkinter 的窗口大小。我想到了如何set frame size question on SO's Question & Answer。所以我继续通过编写一个非常小的程序来显示文本标签来测试它。但我发现它是“失踪”,或者当我使用frame.pack_propagate(0)时消失了
import tkinter as tk
root = tk.Tk()
frame = tk.Frame(root, width=400, height=400)
# Does not work at the moment, textBox is missing
# frame.pack_propagate(0)
frame.pack()
textBox = tk.Label(frame, text="(x,y): ")
textBox.pack()
root.mainloop()
所以我的问题是,你能解释一下为什么当我使用frame.pack_propagate(0) 而不是frame.pack() 方法时我的文本框(标签)没有出现吗?其次,有没有办法在不使用画布的情况下设置窗口大小?我想知道,因为我正在编写一系列小程序来教我朋友关于 tkinter 的知识,然后再向他介绍 canvas。如果我的 tkinter 样本的窗口大小都相同,那就太好了。我也想知道(好奇)。非常感谢。
我在 MAC OS 10.5.8 上使用 python 3.2.2。
【问题讨论】: