8

简单的例子:

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()

这是它的样子:

在此处输入图像描述

正如你所看到的,虽然我设置width=60,height=40了文本小部件的宽度小于它的高度。每次我使用 tkinter 时,这一直困扰着我。所以我的问题是:

  1. 究竟是什么40意思60

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

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

4

1 回答 1

8

当您指定宽度和高度时,它们不是以像素为单位的;它们由字符和行测量,具体取决于当前字体大小

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

这也适用于按钮

这就是混乱的来源,因为它不是以像素为单位的,如果你改变字体,它就会改变文本小部件的大小!

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

查看此站点Text Widget Info并查看参数以获取更多信息

于 2013-07-01T07:15:34.343 回答