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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在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()

这是它的样子:

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

  1. 4060究竟是什么意思?
  2. 文本宽度小于高度的原因是什么?
  3. 进行尺寸控制的最佳方法是什么?
答案

指定宽度和高度时,它们不是像素;它们由字符和线条测量,具体取决于当前的字体大小

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

这也适用于按钮

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

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

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

以上是关于如何在tkinter中设置小部件的大小?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 QGridLayout 中设置小部件的顺序

如何在 python 文件中设置小部件的 ID?

Kivy:在 python 代码中设置小部件禁用属性

使用属性窗口在 QT 网格布局中设置小部件的行和列

如何在WPF中设置小扩展头和扩展内容?

如何在 QTreeWidget 中设置小列宽?