有谁知道如何在QML中使用Font Awesome?我找不到任何文档或任何有关如何在QML中使用Font Awesome的信息。
我喜欢做的是使用fontello创建一组最小的图标,而不是从FontAwesome下载整个集合。使用texteditor示例作为参考:
fonts
文件夹中。FontLoader
和QFontDatabase::addApplicationFont()
。要使用QFontDatabase::addApplicationFont()
,请在加载应用程序的QML之前添加this代码:
QFontDatabase fontDatabase;
if (fontDatabase.addApplicationFont(":/fonts/fontello.ttf") == -1)
qWarning() << "Failed to load fontello.ttf";
text
属性中使用whatever item,你想在下面显示图标:
ToolButton {
id: openButton
text: "\uF115" // icon-folder-open-empty
font.family: "fontello"
onClicked: openDialog.open()
}
这里有一个解决方案:https://martin.rpdev.net/2018/03/30/using-fontawesome-5-in-qml.html
我亲自把它和qazxsw poi混在一起给了我这个:
this solution for FontAwesome 4.7
而Item {
id: awesome
property alias icons: variables
readonly property FontLoader fontAwesomeRegular: FontLoader {
source: "./fa-regular-400.ttf"
}
readonly property FontLoader fontAwesomeSolid: FontLoader {
source: "./fa-solid-900.ttf"
}
readonly property FontLoader fontAwesomeBrands: FontLoader {
source: "./fa-brands-400.ttf"
}
readonly property string regular: fontAwesomeRegular.name
readonly property string solid: fontAwesomeSolid.name
readonly property string brands: fontAwesomeBrands.name
Awesome.Variables {
id: variables
}
}
是另一个文件,我将图标名称与他们的字符代码链接起来。这是一段摘录:
Awesome.Variables
为了使用它,我将它加载到我的根QtObject {
readonly property string fa_500px : "\uf26e"
readonly property string fa_accessible_icon : "\uf368"
readonly property string fa_accusoft : "\uf369"
readonly property string fa_address_book : "\uf2b9"
readonly property string fa_address_card : "\uf2bb"
}
,或者在我需要这样的图标的地方:
Item
然后像这样使用它:
FontAwesome {
id: awesome
}