首页 文章

QML预加载字体

提问于
浏览
0

我有一个字形与字形,我想在我的QML源中使用 . 我加载字体:

FontLoader {
    id: glyphs
    source: "fonts/glyphicons.ttf"
}

然后显示一个glyphicon:

Text {
    font.family: glyphs.name
    text: "\ue80a"
}

问题是有时Text Font元素会在FontLoader加载字体文件之前加载,我只看到空白方块而不是图标 .

我也尝试过:

Text {
    visible: glyphs.status == FontLoader.Ready ? true : false
    font.family: glyphs.name
    text: "\ue80a"
}

但这似乎没有帮助 .

1 回答

  • 1

    我找到了一个简单的解决方案 .

    FontLoader {
        id: glyphs
        source: "fonts/glyphicons.ttf"
    }
    Text {
        font.family: glyphs.name
        text: glyphs.status == FontLoader.Ready ? "\ue80a" : ""
    }
    

    问题是在加载字体之前渲染了角色 . 如果我们只是在触发 FontLoader.Ready 后刷新文本,它将正确显示 .

    在上面的示例中,glyphicon仅在加载字体后显示 .

相关问题