2013-07-01 113 views
6

简单的例子:如何在tkinter中设置小部件的大小?

from tkinter import * 

class GUI_CMP(): 
    def __init__(self): 
     self.tk = Tk() 
     self.text = Text(self.tk,width=60,height=40) 
     self.text.pack() 

     self.tk.mainloop() 

if __name__ == '__main__': 
    gui_cmp = GUI_CMP() 

这里是什么样子:

enter image description here

正如你所看到的,虽然我设置width=60,height=40,文本控件的宽度小于其height.This小每次使用tkinter都会让我感到不安。所以我的问题是:

  1. 究竟是什么和60是什么意思?

  2. 文字宽度小于其高度的原因是什么?

  3. 做尺寸控制的最佳方法是什么?

回答

8

当您指定它们在像素 的arent他们被根据当前字体大小

线测量的高度,当你指定宽度的字符,而不是像素

这就是为什么当你做Text(self.tk,width=60,height=40) 60意味着文本小部件是60个字符宽,40意味着它的40行高

这就是混淆来自哪里,因为它不是像素,如果你改变字体它不适合改变文本小部件的大小!

这可能是最好的方法来做大小控制它只是混乱起初,但现在你知道它会更有意义!

看看这个网站Text Widget Info并通过参数寻找更多的信息

+0

什么其他部件? – laike9m

+0

几乎任何使用文本(消息,按钮,文本等)的小部件都是像这样的措施,但像画布的东西将使用像素测量:) – Serial

+0

我明白,谢谢! – laike9m

相关问题