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

这是它的样子:

enter image description here

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

  1. 4060 到底是什么意思?

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

  3. 控制大小的最佳方法是什么?

最佳答案

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

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

这也适用于按钮

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

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

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

关于python - 如何在 tkinter 中设置小部件的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17398926/

相关文章:

python - 错误: "missing 5 required positional arguments" In Python, Tkinter

python - 滚动条在 python tkinter 中不起作用

python - 如何使不同长度的不同数据帧变得长度相等(下采样和上采样)

python - 如何使用 tkinter Canvas 小部件制作按钮?

python - django PermissionRequiredMixin permission_required 不工作

Python/应用引擎 : Get client browser information

Python Tkinter 菜单栏

python - 如何同时给图片添加对比度、亮度等多种效果

python - 通过迭代方法估计 Spring 的速度

python - 计算字典内嵌套列表中的值的数量