Qt 字体大小的计算

2014-11-24 07:26:14 · 作者: · 浏览: 2

在QFont当中有两种方式设置字体大小,一种是PixelSize,另一种是PointSize


Point实际是磅,也就是 1/72 inch


我们可以从PainterDevice中得到当前DPI(Dot per inch)。因此 Pixel = DPI * Point / 72


例如设置字体为20Point。 那么字体的像素大小是 90 * 20 / 72 约等于 25.


可以将字体设置为25Pixel,看到字体的大小就是20Point和25Pixel大小是一样的。


QFont当中设置的大小,实际上字体的高度,由如下组成。


Qt


由PixelSize设置的高度,实际是Asent + 1像素(baseline的高度)。


在字体大小中涉及了以下知识:


DPI: Dot per inch,在显示器上也就是每英寸包含的像素。英尺的换算为 1 cm = 0.39 inch, 1 inch = 2.54 cm。


DPI 可以通过如下计算得来:


水平 dpi = 水平 resolution * 2.54 / 显示器宽度


垂直 dpi = 垂直 resolution * 2.54 / 显示器高度


pixel pitch(点距): 像素点间距离。可以用25.4mm / DPI得到。


字体在屏幕上的实际大小 = 字体像素大小 * 点距