有人知道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可以达到目的。 那么,以哪种单位计量?
答案 0 :(得分:2)
这取决于小部件以及小部件的配置方式。对于Label
和Button
小部件,width
和height
指的是许多平均大小的字符(内部,我相信它使用字符零的宽度和高度)。如果将图像添加到标签或按钮,则宽度是指像素数。
通常,通过避免对像素值进行硬编码,您将获得最佳结果。 Tkinter非常适合计算小部件的适当大小,然后将它们安装到窗口中。