繁体   English   中英

只有一些 Font Awesome 5 图标可以在 Qt Qml 中使用

[英]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 FreeFont Awesome 5 Free Solid

也许 Qt for Android 使用这个字段并且没有修改, fa-regular-400.ttffa-solid-900.ttf的值是相同的

希望能帮助到你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM