本文记录如何使用 Qt 加载外部字体文件,并遍历字体名称和样式名称。
bool LoadFont(const QString& fontPath) {
const int fontId = QFontDatabase::addApplicationFont(fontPath);
if (fontId == -1) {
return false;
}
// 遍历字体名和样式名
#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
const QStringList fontFamilyList = fontDb.applicationFontFamilies(fontId);
QString fontFamily;
foreach (fontFamily, fontFamilyList) {
qDebug() << "Family:" << fontFamily;
const QStringList fontStyleList = QFontDatabase::styles(fontFamily);
QString fontStyle;
foreach (fontStyle, fontStyleList) {
qDebug() << "\tStyle:" << fontStyle;
}
}
#else
QFontDatabase fontDb;
const QStringList fontFamilyList = fontDb.applicationFontFamilies(fontId);
QString fontFamily;
foreach (fontFamily, fontFamilyList) {
qDebug() << "Family:" << fontFamily;
const QStringList fontStyleList = fontDb.styles(fontFamily);
QString fontStyle;
foreach (fontStyle, fontStyleList) {
qDebug() << "\tStyle:" << fontStyle;
}
}
#endif
return true;
}
欢迎访问我的个人站点: https://jiangxueqiao.com