QT-字体文件加载

时间:2021-02-23 19:43:40

QT 程序编写时,希望使用好看的字体文件,并在程序发布时将字体文件和程序一起发布。可以通过QT的QFontDatabase  来实现。

首先,我们可以通过网上下载好字体文件,比如 微软雅黑字体,文件名为 msyh.ttf,将文件放在程序exe生成目录(可自定义目录)。

在main.cpp中编写如下代码:

// 添加字体文件
int fontId = QFontDatabase::addApplicationFont(QCoreApplication::applicationDirPath()+"msyh.ttf" );
QStringList fontFamilies = QFontDatabase::applicationFontFamilies(fontId);

QFont font;
if (fontFamilies.size() > 0)
{
font.setFamily(fontFamilies.at(0));
font.setPixelSize(14);
}

QApplication::setFont(font);

代码里,通过QFontDataBase加载字体文件,如果加载成功,就设置为默认字体。


通过设置好默认字体后,在其他界面的窗口如果要设置字体样式时,只需要设置大小、加粗等,不需要设置字体名称。


打包程序时,将字体文件一起打包。这样用户下载好发布程序安装后,就可以使用你提供的字体显示文字。


注意:Windows平台下,建议使用微软雅黑字体,在开启了clearType的情况效果较好。