是否可以将自定义字体应用于QML中的所有元素?

时间:2018-11-27 09:18:01

标签: 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

1 个答案:

答案 0 :(得分:1)

尝试以下代码:

#include <QFontDatabase>

void InstallDefaultFont()
{
    qint32 fontId = QFontDatabase::addApplicationFont(":/font.otf");
    QStringList fontList = QFontDatabase::applicationFontFamilies(fontId);

    QString family = fontList.at(0);
    QGuiApplication::setFont(QFont(family));
}

这还将为QML和小部件设置默认字体。