centos7 Qt 缺失字体问题

QFontDatabase: Cannot find font directory /usr/local/Qt-5.11.3/lib/fonts
Note that Qt no longer ships fonts. Deploy some (from https://dejavu-fonts.github.io/ for example) or switch to fontconfig.

解决

下载 dejavu-fonts-ttf-2.37.tar.bz2
创建目录并拷贝所有ttf文件 /usr/local/Qt-5.11.3/lib/fonts
重启qtcreator.sh 重新编译项目

问题背景

centos7-aarch64 使用gcc7 编译qt5.11.3和 qtcreator
运行项目,widgets组件可以显示,但是没有字体,控制台报错

原因分析

检查系统默认字体 yum install fontconfig
查看以安装字体 fc-list && fc-list :lang=zh
/usr/share/fonts
/usr/share/X11/fonts

#include <QFontDatabse>
QFontDatabase database;
foreach (const QString &str, database.families()) {
  qDebug() << str;
}
foreach (const QString &str, database.families(QFontDatabase::SimplifiedChinese)) {
  qDebug() << str;
}

参考

银河麒麟aarchQt5.12.0 QtFontDatabase: Cannot find font directory

posted @ 2024-08-12 09:26  cstc  阅读(8)  评论(0编辑  收藏  举报