Python 如何设置小部件';tkinter的尺码是多少?

Python 如何设置小部件';tkinter的尺码是多少?,python,tkinter,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(

简单的例子:

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()
下面是它的外观:

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

  • 40
    60
    的确切含义是什么

  • 文本的宽度小于其高度的原因是什么

  • 控制尺寸的最佳方法是什么


  • 指定宽度和高度时,它们不是以像素为单位的; 根据当前字体大小,它们以字符和行来度量

    这就是为什么当您执行
    文本(self.tk,width=60,height=40)
    时,60表示文本小部件有60个字符宽,40表示它有40行高

    这也适用于按钮

    这就是混淆的原因,因为它不是以像素为单位的,如果你改变字体,它将改变文本小部件的大小

    这可能是控制尺寸的最好方法,一开始它让人困惑,但现在你知道它会更有意义


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

    几乎所有使用文本(消息、按钮、文本等)的小部件都是这样测量的,但画布之类的小部件将使用像素进行测量:)