Qt如何加载自定义.ttf字体文件?

2026-05-29 08:424阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计246个文字,预计阅读时间需要1分钟。

Qt如何加载自定义.ttf字体文件?

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查询一下,发现新字体已经添加到列表中了:


Qt如何加载自定义.ttf字体文件?

本文共计246个文字,预计阅读时间需要1分钟。

Qt如何加载自定义.ttf字体文件?

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查询一下,发现新字体已经添加到列表中了:


Qt如何加载自定义.ttf字体文件?