我有一个ListModal,如下:
ListModel {
ListElement { icon: "qrc:/icons/gallery/20x20/profile.png"; icon.color: "transparent"; title: "Profile"; source: "qrc:/src/qml/pages/Profile.qml" }
ListElement { icon: "qrc:/icons/gallery/20x20/lock.png"; icon.color: "transparent"; title: "Connect"; source: "qrc:/src/qml/pages/Connect.qml" }
}
当我的应用程序使用样式的深色主题(即通用)时,很难看到我的图标。我希望它们具有透明的颜色,以便在主题更改时将颜色反转,类似于以下代码:
ListView {
id: listView
focus: true
currentIndex: -1
anchors.fill: parent
delegate: ItemDelegate {
width: parent.width
text: model.title
icon.source: model.icon
icon.height: 20
icon.width: 20
icon.color: "transparent"
highlighted: ListView.isCurrentItem
onClicked: {
listView.currentIndex = index
stackView.push(model.source)
drawer.close()
}
}
有没有一种方法可以轻松做到这一点?
答案 0 :(得分:0)
我没有太多使用主题或样式,但是我相信您可以根据三元运算符当前使用的主题来指定图标的颜色:
icon.color: (Material.theme === Material.Dark) ? "white" : "black"