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

Nma*_*r88 3 qt qml

就像问题所说,我想知道是否有一种方法可以将自定义字体应用于 QML 中的所有元素,就像我们可以在 HTML 中轻松设置标签主体上的字体一样。我已经可以在 QML 中使用以下字体:

FontLoader { id: robotoRegular; source: "fonts/Roboto-Regular.ttf" }
Run Code Online (Sandbox Code Playgroud)

但现在如果我做类似的事情

ApplicationWindow {
font.family:robotoRegular.name
Run Code Online (Sandbox Code Playgroud)

它似乎不起作用,而且可能不应该起作用。或者有什么办法吗?

我使用 Qt 5.11.2,QtQuick 2.2

arx*_*ian 6

试试这个代码:

#include <QFontDatabase>

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

    QString family = fontList.first();
    QGuiApplication::setFont(QFont(family));
}
Run Code Online (Sandbox Code Playgroud)

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