在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當中設置的大小,實際上字體的高度,由如下組成。
由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得到。
字體在屏幕上的實際大小 = 字體像素大小 * 點距
大部分顯示器的DPI爲90.6左右,垂直和水平點距可能不一樣。但windows爲了方便就同一了點距,爲96。我當前使用的ubuntu的點距也是96。因此如果想要看到更大的字體可以使用更大的點距。