[英]Only some Font Awesome 5 icons work in Qt Qml
我正在尝试在 Qt Qml 标签中显示 Font Aweseom 5 (5.10.2) 图标:
Label {
text: "\uf2bb" + " x " + "\uf002"
font.family: "Font Awesome 5 Free"
//font.weight: Font.Normal
}
在 Windows 上,所有图标都按预期工作。 但在所有其他平台(macOS、Android、iOS)上,仅显示一些图标(例如\
)而其他( \
)不起作用,而是显示一个简单的矩形。 但是当使用 QWidgets 时,所有图标都适用于所有平台。
我使用此实用程序列表视图验证了 QFontDatabase 中安装了“Font Awesome 5 Free”字体:
ListView {
anchors.fill: parent;
model: Qt.fontFamilies()
delegate: Item {
height: 40;
width: ListView.view.width
Label {
anchors.centerIn: parent
text: modelData;
}
}
}
有谁知道为什么有些图标可以在 Qml 中工作,而有些则不能?
问候,
将字体粗细设置为Font.Black
或将字体的样式名称设置为"Solid"
解决问题:
Label {
text: "\uf2bb" + " x " + "\uf002"
font.family: "Font Awesome 5 Free"
font.weight: Font.Black // this does the trick
}
Label {
text: "\uf2bb" + " x " + "\uf002"
font.family: "Font Awesome 5 Free"
font.styleName: "Solid" // this does the trick
}
我用https://fontforge.org/解决了这个问题
在文件fa-solid-900.ttf 中,我将字段WWS Family
(在选项卡 TTF Names 下)从Font Awesome 5 Free
为Font Awesome 5 Free Solid
也许 Qt for Android 使用这个字段并且没有修改, fa-regular-400.ttf和fa-solid-900.ttf的值是相同的
希望能帮助到你
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.