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