Fonts 预加载字体
我有一个带有字形图标的字体,我想在我的QML源代码中使用它。我用以下内容加载字体:Fonts 预加载字体,fonts,qml,preload,Fonts,Qml,Preload,我有一个带有字形图标的字体,我想在我的QML源代码中使用它。我用以下内容加载字体: FontLoader { id: glyphs source: "fonts/glyphicons.ttf" } 然后显示一个带有以下内容的图示符图标: Text { font.family: glyphs.name text: "\ue80a" } 问题是有时文本元素将在FontLoader完成加载字体文件之前加载,而我只看到空白方块而不是图标。 我还尝试: Text {
FontLoader {
id: glyphs
source: "fonts/glyphicons.ttf"
}
然后显示一个带有以下内容的图示符图标:
Text {
font.family: glyphs.name
text: "\ue80a"
}
问题是有时文本元素将在FontLoader完成加载字体文件之前加载,而我只看到空白方块而不是图标。
我还尝试:
Text {
visible: glyphs.status == FontLoader.Ready ? true : false
font.family: glyphs.name
text: "\ue80a"
}
但这似乎没有帮助。我找到了一个简单的解决方法
FontLoader {
id: glyphs
source: "fonts/glyphicons.ttf"
}
Text {
font.family: glyphs.name
text: glyphs.status == FontLoader.Ready ? "\ue80a" : ""
}
问题是,字符是在加载字体之前呈现的。如果我们只是在触发FontLoader.Ready
后刷新文本,它将正确显示
在上面的示例中,字形图标仅在加载字体后才会显示。是的,它看起来像个bug。在从web或本地系统加载时,我也无法触发
onStateChanged