你有两个问题。让我们一次解决他们
1:在相同平台上使用相同字体的python 2.5和2.6之间的区别
这两个版本的python使用不同版本的tk。在我的Mac电脑上,2.5使用tk版本8.4.19,而2.6使用8.5.7。在tk的8.5.2版中,对tk的字体测量功能进行了一些更改。假定这些更改是改进,我认为可以肯定地认为从python
2.6获得的数字比从2.5获得的数字更准确。
2:Mac上的python 2.6与PC上的2.6之间的区别。
显然,从您包括的屏幕截图中,PC使用的是更大的字体,因此您获得的数字更大。问题是,为什么?您以磅(1/72英寸)为单位指定字体大小。为了让Tk(或任何渲染系统)渲染字体,它需要知道实际显示器上一英寸有多少像素。这在不同的系统上会有所不同,并且底层操作系统不一定总是为Tk提供准确的数字来进行计算。
从历史上看,无论实际显示什么,Apple和Microsoft都将72ppi和96ppi标准化,因此数字总是会有所不同。有关Mac和Windows在计算像素密度方面的差异的更多信息,请参阅Wikipedia上的“每英寸点数”文章。
您可以尝试通过以像素而不是点为单位指定字体来解决此问题。您可以通过使用负数来表示字体大小。
最后,您可能会添加到小示例代码中的一件事是打印出
font.actual()命令的结果-
您可能会在Windows和Mac框之间看到一些不同之处,这将解释那里的区别。这可以准确告诉您Tk正在使用哪种字体。



