专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > QT开发

Qt中怎么计算字体的内部间隔

发布时间:2010-05-30 19:55:57 文章来源:www.iduyao.cn 采编人员:星星草
Qt中如何计算字体的内部间隔
即TEXTMETRIC结构体中的tmInternalLeading属性,如果用GDI是可以获得的,但是如果想用纯Qt,即使用QFont和QFontMetrics,算出来的值总有偏差,如何解决?


现在的代码类似这样

        int realHeight = font.pointSize();
QFontMetrics fm(font);
int pixelsHigh = fm.height();
int pixelsLeading = fm.leading();
int pixelsDescent = fm.descent();
int nInternalLeading = pixelsHigh - realHeight - pixelsLeading - pixelsDescent - 1;


按照某外国论坛的代码来看,这个代码理论上是正确的,可是实际上跑起来由于 font.pointSize()的值其实是不准确的,导致了最后计算出来的nInternalLeading 不准确,有没有别的办法获得准确的 font.pointSize()值?
------解决方案--------------------
首先,使用它之前,你的QApplication或QGuiApplication有没有已经初始化完毕?

如果和系统API提供的数值真的不一样,你可以去提交一个bug
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: