大概流程:

选择字体文件(如宋体、黑体等),在指定字体文件中提取你需要的文字(减少软件体积),因此只提取必要的部分,提取出来后,会重新生成字体文件,然后讲字体添加进QSS中或者生成二进制文件加载。

  1. 在 C:\Windows\Fonts 路径下,选择需要的字体文件,并进行如下操作:(黑体文件名:simhei.ttf)
  2. 打开Fontmin软件,随后根据下图操作: 百度云地址

QT使用自定义字库 - 图1

  1. 生成 TTF 文件之后,自动弹出的文件夹中找到TTF 文件,将其复制使用即可。

QT使用自定义字库 - 图2

  1. 再main函数中输入
  1. int fontID=QFontDatabase::addApplicationFont(":/font/sarasa-mono-sc-regular.ttf");
  2. QString sarasa=QFontDatabase::applicationFontFamilies(fontID).at(0);
  3. QFont font(sarasa,11);
  4. font.setStyleStrategy(QFont::PreferAntialias);//QFont::PreferAntialias 0x0080 antialias if possible.
  5. // font.setStyleStrategy(QFont::NoAntialias);//QFont::NoAntialias 0x0100 don't antialias the fonts.
  6. a.setFont(font);

QT使用自定义字库 - 图3