Qt 字型大小的計算

2021-05-24 05:06:34 字數 766 閱讀 4960

在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...