1. 程式人生 > >Qt: 為程式新增外部字型

Qt: 為程式新增外部字型

Qt:

 新增外部字型到程式的方法:

#include <QFontDatabase>
#include <QIODevice>

QString loadFontFamilyFromFiles(const QString &fontFile)
{
    QString font = "";

    QFile fontFile(fontFile);
    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();
    return font;
}

在需要設定字型的地方:
QString strFont =  loadFontFamilyFromFiles("指定的字型檔案路徑和字型檔名");
if(!strFont.isEmpty())
{
    qDebug() <<"Error";
}
else
{
    QFont font(strFont);
    app.setFont(font);
}