如何在tkinter中设置小部件的大小?

lai*_*e9m 7 python 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()
Run Code Online (Sandbox Code Playgroud)

这是它的样子:

在此输入图像描述

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

  1. 究竟是什么4060意味着什么呢?

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

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

Ser*_*ial 8

当您指定它们不以像素为单位的高度时,它们将根据当前字体大小由线条测量

当你指定宽度时,它的字符不是像素

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

这就是混乱来自于它不是像素的地方,如果你改变字体,它会改变文本小部件的大小!

这可能是进行尺寸控制的最佳方式,一开始只是令人困惑,但现在你知道它会更有意义!

看一下这个站点Text Widget Info并查看参数以获取更多信息