1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| #include <QApplication> #include <QStyleFactory> #include <QFontDataBase> #include <QIODevice>
QString loadFontFamilyFromFiles(const QString &fontFilePath) { QString font = "";
QFile fontFile(fontFilePath); 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; }
int main(int argc, char *argv[]) { QApplication a(argc, argv);
QString font_path = "字体路径(ttf/otf)"; if (isFileExist(font_path)) { QString strFont = loadFontFamilyFromFiles(font_path); QFont font(strFont, 9); a.setFont(font); }
MainWindow w; w.show();
return a.exec(); };
|