栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

为什么在Tkinter中计算的字符串宽度和高度(以像素为单位)在平台之间有所不同?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

为什么在Tkinter中计算的字符串宽度和高度(以像素为单位)在平台之间有所不同?

你有两个问题。让我们一次解决他们

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正在使用哪种字体。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/455704.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号