简单的例子:
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时都会让我感到不安。所以我的问题是:
40
和60
究竟是什么意思?
文字宽度小于高度的原因是什么?
进行尺寸控制的最佳方法是什么?
答案 0 :(得分:8)
指定宽度和高度时,它们不是像素; 它们由字符和线条测量,具体取决于当前的字体大小
这就是为什么当你执行Text(self.tk,width=60,height=40)
时60表示文本小部件宽度为60个字符,40个表示高40行
这也适用于Buttons
这就是混乱的来源,因为它不是以像素为单位,如果你改变了字体,就会改变文本小部件的大小!
这可能是进行尺寸控制的最好方法,它起初只是令人困惑,但现在你知道它会更有意义!
查看此网站Text Widget Info并查看参数以获取更多信息