Python Tkinter窗口和小部件尺寸测量

时间:2018-08-28 13:20:38

标签: python tkinter size measurement

有人知道tkinter对象以什么单位进行测量吗?

例如:

ws='400' #i am assuming these are in pixels
hs='400'
root=tk.Tk()
root.geometry(ws+'x'+hs)

...

self.w1=tk.Label(self.parent,width=int(int(ws)*5/8) #The width here probably isn't in pixels
self.w2=tk.Button(self.parent,width=int(int(ws)*3/8)

如果小部件“标签”和“按钮”中的宽度也以像素为单位进行测量,则无论其宽度如何,这都应该很好地适合窗口内。但事实并非如此。相反,我进行了试验,发现将一个小部件的宽度除以10,将另一个小部件的宽度除以25可以达到目的。 那么,以哪种单位计量?

1 个答案:

答案 0 :(得分:2)

这取决于小部件以及小部件的配置方式。对于LabelButton小部件,widthheight指的是许多平均大小的字符(内部,我相信它使用字符零的宽度和高度)。如果将图像添加到标签或按钮,则宽度是指像素数。

通常,通过避免对像素值进行硬编码,您将获得最佳结果。 Tkinter非常适合计算小部件的适当大小,然后将它们安装到窗口中。