输入字体文件路径,输出字体family:
QString loadFontFamilyFromFiles(const QString &fontFileName)
{
    static QHash<QString, QString> tmd;
    if (tmd.contains(fontFileName)) {
        return tmd.value(fontFileName);
    }
    QString font = "";
    QFile fontFile(fontFileName);
    if(!fontFile.open(QIODevice::ReadOnly)) {
        qDebug()<<"Open font file error";
        return font;
    }

    int loadedFontID = QFontDatabase::addApplicationFontFromData(fontFile.readAll());
    QStringList loadedFontFamilies = QFontDatabase::applicationFontFamilies(loadedFontID);
    if(!loadedFontFamilies.empty()) {
        font = loadedFontFamilies.at(0);
    }
    fontFile.close();

    if (!(font.isEmpty()))
        tmd.insert(fontFileName, font);
    return font;
}

外部字体文件:

QT加载外部特定字体方法详解

使用方式:
QFont font = ui->label->font();
QString family = Utils::instance()->loadFontFamilyFromFiles(
                QApplication::applicationDirPath() + "/res/font/HKHBTW12.ttf");
font.setFamily(family);
ui->label->setFont(font);//设置控件自定义字体

效果:

QT加载外部特定字体方法详解

QT加载外部特定字体方法详解

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-12
  • 2021-11-03
  • 2020-01-16
  • 2021-11-03
猜你喜欢
  • 2022-12-23
  • 2021-09-18
  • 2021-07-25
  • 2022-12-23
  • 2022-12-23
  • 2021-12-06
  • 2022-12-23
相关资源
相似解决方案