包含字符串(采用指定字体)的文本对象似乎根据字符串的长度给出不一致的结果.例如:
from Tkinter import *
import tkFont
root=Tk()
t_Font = tkFont.Font(family='Helvetica', size=12, weight='bold')
t_text='New.'
t_frame = Frame(root, bd=0, height=10, width=t_Font.measure(t_text))
t = Text(master=t_frame, height=1, width=len(t_text), bd=1, font=t_Font, padx=0 )
print '
Measured:',t_Font.measure(t_text),'Frame req:',t_frame.winfo_reqwidth(),'As Text:',t.winfo_reqwidth()
测量:38帧要求:38作为文本:38
t_text='New title.'
t_frame = Frame(root, bd=0, height=10, width=t_Font.measure(t_text))
t = Text(master=t_frame, height=1, width=len(t_text), bd=1, font=t_Font, padx=0 )
print '
Measured:',t_Font.measure(t_text),'Frame req:',t_frame.winfo_reqwidth(),'As Text:',t.winfo_reqwidth()
测量:69帧要求:69作为文本:92
另外的6个字符将测量的大小和帧大小增加了31个像素,但Text对象增加了54个.
这是什么原因