You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qt程序中不同字体的字号差异及KDE下字号列表获取方法

Qt程序中字体字号差异及KDE环境下字号列表获取

Qt的字体字号表现逻辑

Qt的字体字号表现取决于其使用的字体渲染后端:

  • 在Windows平台,Qt直接调用系统原生字体接口,表现和Windows系统一致——不同字体的可选字号列表会存在差异(比如部分点阵字体只有固定的几个字号可选)。
  • 在KDE(基于X11/Plasma)环境下,Qt默认使用Fontconfig作为字体后端,表现更接近GTK/macOS:大部分字体的可选字号列表是统一的可缩放字号范围,只有少数特殊点阵字体才会有固定的可选字号集合。

获取指定字体的可用字号列表(针对Windows/KDE特殊场景)

如果需要在Qt中获取某字体的可用字号列表,可以使用Qt的QFontDatabase类来实现,核心代码示例如下:

#include <QFontDatabase>
#include <QDebug>

void getFontSizes(const QString& fontName) {
    QFontDatabase db;
    // 获取指定字体的所有可用字号
    QList<int> sizes = db.sizes(fontName);
    qDebug() << "字体" << fontName << "的可用字号:" << sizes;
}
  • 该方法在Windows平台会返回对应字体的原生可选字号列表;
  • 在KDE环境下,对于可缩放字体,返回的是一个包含常用字号的列表(或空列表,此时可以使用任意字号进行缩放),对于点阵字体则返回其固定字号集合。

注意:在KDE等使用Fontconfig的环境中,大部分现代字体都是可缩放的,所以字号列表更多是参考性的,你可以直接设置任意数值的字号,Qt会通过Fontconfig进行渲染。

内容的提问来源于stack exchange,提问作者Igor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 17:17:35