qt - 是否可以将自定义字体应用于 QML 中的所有元素?
问题描述
就像问题说的那样,我想知道是否有一种方法可以将自定义字体应用于 QML 中的所有元素,就像我们可以在 HTML 中轻松地在标签正文上设置字体一样。我已经可以在 QML 中使用以下字体:
FontLoader { id: robotoRegular; source: "fonts/Roboto-Regular.ttf" }
但是现在如果我做类似的事情
ApplicationWindow {
font.family:robotoRegular.name
它似乎不起作用,并且可能不应该。或者有什么办法吗?
我使用 Qt 5.11.2,QtQuick 2.2
解决方案
试试这个代码:
#include <QFontDatabase>
void InstallDefaultFont()
{
qint32 fontId = QFontDatabase::addApplicationFont(":/font.otf");
QStringList fontList = QFontDatabase::applicationFontFamilies(fontId);
QString family = fontList.first();
QGuiApplication::setFont(QFont(family));
}
这也将为 QML 和小部件设置默认字体。
推荐阅读
- spring-boot - 由于检测到重复 ID,无法启动路由 [A]:[B]
- linux - 使用 crontab 拒绝权限
- php - 使用未知输入名称更新表
- azure - 在发现和评估期间添加服务器时在 azure migrate 设备中抛出访问被拒绝错误
- php - 如何使用return代替echo来输出html?
- cron - 如何在 crontab 上使用 env .bashrc 变量?
- angular - Ionic Angular HttpClient 注入不起作用
- c++ - 当我在 else if 语句 [C++] 之后使用 printf 时,结果发生了变化
- c# - 专攻泛型时避免重复代码
- python - 将结构字段存储到向量中