题
为什么下一个函数返回0? (我的环境是:Windows Vista,vc ++ 9,Qt4.5)
int func()
{
QPushButton button("Blah blah");
QFontMetrics fm = button.fontMetrics();
return fm.leading();
}
致电“fm.height()”返回合理的结果(在我的情况下为16像素)。
致电“fm.lineSpacing()”返回与“fm.height()”相同的结果。
调用“fm.boundingRect(QRect(),0,”第一行\ n第二行\ n第三行“)。height();"返回16 * 3,即结果中不再包括行间距...
这种不正确的用法是我的吗?
解决方案
根据文档 lineSpacing()
总是等于 height()
+ leading()
height()
总是等于 ascent()+ descent()+ 1
(1代表基线)。
来自这里引导的是”文本行之间的垂直空间 - 名称来自以前用于机械打印过程以分离文本行的物理铅块“。
那么,你使用的是什么字体,它是否使用零大小的前导?
不隶属于 StackOverflow