最近開發(fā)項目時,據(jù)說不能用系統(tǒng)自帶的微軟雅黑字體,于是找一個開源的字體,思源黑體,這個是google和Adobe公司合力開發(fā)的可以免費使用。本篇記錄一下Qt使用第三方字體的方式。字體從下載之家下載http://www.downza.cn/soft/266042.html。下載解壓后有8種字體
代碼實現(xiàn)
#include "mainwindow.h"
#include <QFont>
#include <QFontDatabase>
#include <QApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QString path = QCoreApplication::applicationDirPath();
int fontIndex = 0;
switch (fontIndex) {
case 0:
path = path + QString("/font/SourceHanSans-Bold.otf");
break;
case 1:
path = path + QString("/font/SourceHanSans-CNBold.ttf");
break;
case 2:
path = path + QString("/font/SourceHanSans-ExtraLight.otf");
break;
case 3:
path = path + QString("/font/SourceHanSans-Heavy.otf");
break;
case 4:
path = path + QString("/font/SourceHanSans-Light.otf");
break;
case 5:
path = path + QString("/font/SourceHanSans-Medium.otf");
break;
case 6:
path = path + QString("/font/SourceHanSans-Normal.ttf");
break;
case 7:
path = path + QString("/font/SourceHanSans-Regular.ttf");
break;
default:
path = path + QString("/font/SourceHanSans-CNBold.ttf");
break;
}
int fontId = QFontDatabase::addApplicationFont(path);
QStringList fontFamilies = QFontDatabase::applicationFontFamilies(fontId);
if (!fontFamilies.empty())
{
QString fontFamily = fontFamilies.at(0);
QFont defaultFont = a.font();
defaultFont.setFamily(fontFamily);
defaultFont.setPixelSize(15);
a.setFont(defaultFont);
}
MainWindow w;
w.show();
return a.exec();
}
運行效果:
第2種字體效果:
第3種字體效果:
第4種字體效果:
?第5種字體效果:
?第6種字體效果:
第7種字體效果:
第8種字體效果:文章來源:http://www.zghlxwxcb.cn/news/detail-595444.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-595444.html
到了這里,關(guān)于Qt添加第三方字體的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!