在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。因此如果想要看到更大的字型可以使用更大的點距。
Qt 字型大小的計算
在qfont當中有兩種方式設定字型大小,一種是pixelsize,另一種是pointsize point實際是磅,也就是 1 72 inch 我們可以從painterdevice中得到當前dpi dot per inch 因此 pixel dpi point 72 例如設定字型為20point。那麼...
Qt 控制項自適應字型大小
當你的字型太大的時候需要qlable自適應調整qlable的高度,adjustsize就可以滿足此要求,其他的控制項也一樣,比如qcheckbox,qlineedit等控制自適應字型大小都可以使用adjustsize lable adjustsize 自動調整label的高度,需要注意的是這個不是一...
計算字型大小及尺寸
computing metrics for a single line of text sizewithfont sizewithfont forwidth linebreakmode 將字串放入指定寬度,如果不夠,就依據換行方式截斷字串,返回其大小。sizewithfont minfontsize...