【发布时间】:2014-07-05 17:24:53
【问题描述】:
为什么此代码显示按钮的高度大于宽度?
import Tkinter, tkFont
top = Tkinter.Tk()
right = Tkinter.Frame(top)
right.pack(side = "right")
font = tkFont.Font(family="Helvetica", size=60, weight = tkFont.BOLD)
for i in xrange(6):
b = Tkinter.Button(right, text = str(i), font = font, width = 1, height = 1)
top.rowconfigure(i, weight = 1)
top.columnconfigure(i, weight = 1)
b.grid(row = i/3, column = i%3, sticky = "NWSE")
top.mainloop()
- 所有按钮都是用
width=1, height=1创建的 - 对于
right的每一行和每一列,都会调用right.rowconfigure(rowi, weight=1)(或columnconfigure)。 - 每个按钮
b的每个网格位置都是用粘性NSEW制作的。 - 我已设置
right.grid_propagate(0)
我到底做错了什么?
如果我将按钮直接放在top 上,按钮就会变得比高更宽。似乎它们正在调整大小以适应传播的空间。如何防止这种调整大小?
【问题讨论】:
-
如果你希望你的按钮是 1px x 1px 或许可以考虑使用画布?
-
我不希望我的按钮是 1 像素乘 1 像素,如果这就是你的意思。我只希望我的按钮是正方形的,不管里面是什么。目前,它们只有在文本足够小的情况下才是正方形,否则它们会变得更高。