(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()
结果是这样的:
我为Frame和Label设置了相同的宽度和高度,但它们显示的大小不同。更重要的是,标签甚至不是一个正方形。请为我解释一下,并告诉我如何使它们相同。
答案 0 :(得分:2)
简答:
20与20相同,但20米与20公里不同。
答案很长:
您得到的结果并不像您想象的那么奇怪,因为width
的{{1}}和height
选项是以像素衡量的,而在Tkinter.Frame()
:
Tkinter.Label()
:以字符 width
:在行 答案 1 :(得分:1)
据我所知,Label用于文本。 Label()定义和Frame()可能对宽度和高度参数的工作方式不同,如果错误则纠正我。
例如: 将Label()内的宽度和高度更改为1.您将在tk窗口中看到一个用黑色填充的字符的空间。
喜欢
Label(root, width=1, height=1, bg='black').pack(expand=NO, fill=None, side=LEFT)