Qt如何加载自定义.ttf字体文件?
- 内容介绍
- 文章标签
- 相关推荐
本文共计246个文字,预计阅读时间需要1分钟。
Step 1: 在QML中使用font.family属性时,可以通过以下代码查询所有可用字体字符串值:javascriptvar qfd=QFontDatabase;var qsl=qfd.families();qsl中将包含所有可选的字体字符串值。
Step 2: 如果想扩展字体,例如在Linux下,可以通过查询QFontDatabase来获取更多信息。
Step 1
QML中使用 font.family 时所有可用的字符串值可通过如下代码查询:
QFontDatabase qfd;QStringList qsl = qfd.families();
QStringList qsl 中就是所有可选字符串
Step 2
如果想扩充字体,比如 Linux 下Qt 根本就不包含字体文件,这个时候需要自己下载并指定字体。
可以通过如下代码添加字体文件到字体数据库:
int localFont = QFontDatabase::addApplicationFont(QApplication::applicationDirPath() + "/fonts/ttf/DejaVuSansMono.ttf");QFontDatabase::applicationFontFamilies(localFont);
Step 3
经过 Step 2 后,可以再用Step 1查询一下,发现新字体已经添加到列表中了:
本文共计246个文字,预计阅读时间需要1分钟。
Step 1: 在QML中使用font.family属性时,可以通过以下代码查询所有可用字体字符串值:javascriptvar qfd=QFontDatabase;var qsl=qfd.families();qsl中将包含所有可选的字体字符串值。
Step 2: 如果想扩展字体,例如在Linux下,可以通过查询QFontDatabase来获取更多信息。
Step 1
QML中使用 font.family 时所有可用的字符串值可通过如下代码查询:
QFontDatabase qfd;QStringList qsl = qfd.families();
QStringList qsl 中就是所有可选字符串
Step 2
如果想扩充字体,比如 Linux 下Qt 根本就不包含字体文件,这个时候需要自己下载并指定字体。
可以通过如下代码添加字体文件到字体数据库:
int localFont = QFontDatabase::addApplicationFont(QApplication::applicationDirPath() + "/fonts/ttf/DejaVuSansMono.ttf");QFontDatabase::applicationFontFamilies(localFont);
Step 3
经过 Step 2 后,可以再用Step 1查询一下,发现新字体已经添加到列表中了:

