为什么配置 Frame 的宽度显示与 Label 的不同?
Why configuring width of Frame shows differences from Label's?
(windows 7, python 2.7.3)
这是我的代码:
from Tkinter import *
root = Tk()
root.geometry('400x400')
Frame(root, width=20, height=20, bg='red').pack(expand=NO, fill=None, side=LEFT)
Label(root, width=20, height=20, bg='black').pack(expand=NO, fill=None, side=LEFT)
root.mainloop()
结果是这样的:
我为框架和标签设置了相同的宽度和高度,但它们显示的尺寸不同。更重要的是,标签甚至不是 square.Please 为我解释它,并告诉我如何使它们相同大小。
据我所知,Label 用于文本。 Label() 定义和 Frame() 对于宽度和高度参数的工作方式可能不同,如果有误,请纠正我。
示例:
将 Label() 中的宽度和高度更改为 1。您将在 tk window.
中看到一个用黑色填充的字符 space
喜欢
Label(root, width=1, height=1, bg='black').pack(expand=NO, fill=None, side=LEFT)
简答:
20和20一样,但是20米和20公里不一样
长答案:
您得到的结果并不像您想象的那么奇怪,因为 Tkinter.Frame()
的 width
和 height
选项是根据 像素 而在 Tkinter.Label()
:
width
:定义标签的宽度个字符
height
:定义标签的高度在行
(windows 7, python 2.7.3)
这是我的代码:
from Tkinter import *
root = Tk()
root.geometry('400x400')
Frame(root, width=20, height=20, bg='red').pack(expand=NO, fill=None, side=LEFT)
Label(root, width=20, height=20, bg='black').pack(expand=NO, fill=None, side=LEFT)
root.mainloop()
结果是这样的:
我为框架和标签设置了相同的宽度和高度,但它们显示的尺寸不同。更重要的是,标签甚至不是 square.Please 为我解释它,并告诉我如何使它们相同大小。
据我所知,Label 用于文本。 Label() 定义和 Frame() 对于宽度和高度参数的工作方式可能不同,如果有误,请纠正我。
示例: 将 Label() 中的宽度和高度更改为 1。您将在 tk window.
中看到一个用黑色填充的字符 space喜欢
Label(root, width=1, height=1, bg='black').pack(expand=NO, fill=None, side=LEFT)
简答:
20和20一样,但是20米和20公里不一样
长答案:
您得到的结果并不像您想象的那么奇怪,因为 Tkinter.Frame()
的 width
和 height
选项是根据 像素 而在 Tkinter.Label()
:
width
:定义标签的宽度个字符height
:定义标签的高度在行