Qt 样式 Material.accent(一个按钮)比预期的要亮
Qt styling Material.accent (a button) brigther than expected
使用 Qt Quick 应用程序作为模板。我正在关注有关样式 https://doc.qt.io/qt-6/qtquickcontrols2-material.html 的文档。这是代码:
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
import QtQuick.Controls.Material
import QtQuick.Window
ApplicationWindow {
id: window
width: 1024
height: 720
visible: true
title: qsTr("My Test")
Material.theme: Material.Dark
Material.primary: Material.Blue
Material.accent: Material.Blue
header: ToolBar {
RowLayout {
anchors.fill: parent
ToolButton {
font.pixelSize: 20
text: qsTr("‹")
onClicked: stack.pop()
}
Label {
font.pixelSize: 20
text: "My app"
elide: Label.ElideRight
horizontalAlignment: Qt.AlignHCenter
verticalAlignment: Qt.AlignVCenter
Layout.fillWidth: true
}
ToolButton {
font.pixelSize: 20
text: qsTr("⋮")
onClicked: menu.open()
}
}
}
Button{
text: qsTr("????")
highlighted: true
}
}
我得到了这个输出:
我的问题是为什么按钮比 header 内容更亮?我不是在使用相同的 material 吗?
我正在使用 qt 6.2.2。所以:Linux薄荷
正如@Amfasis 建议的那样,使用:
Material.accent: Material.color(Material.Blue)
将使它正常工作。
使用 Qt Quick 应用程序作为模板。我正在关注有关样式 https://doc.qt.io/qt-6/qtquickcontrols2-material.html 的文档。这是代码:
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
import QtQuick.Controls.Material
import QtQuick.Window
ApplicationWindow {
id: window
width: 1024
height: 720
visible: true
title: qsTr("My Test")
Material.theme: Material.Dark
Material.primary: Material.Blue
Material.accent: Material.Blue
header: ToolBar {
RowLayout {
anchors.fill: parent
ToolButton {
font.pixelSize: 20
text: qsTr("‹")
onClicked: stack.pop()
}
Label {
font.pixelSize: 20
text: "My app"
elide: Label.ElideRight
horizontalAlignment: Qt.AlignHCenter
verticalAlignment: Qt.AlignVCenter
Layout.fillWidth: true
}
ToolButton {
font.pixelSize: 20
text: qsTr("⋮")
onClicked: menu.open()
}
}
}
Button{
text: qsTr("????")
highlighted: true
}
}
我得到了这个输出:
正如@Amfasis 建议的那样,使用:
Material.accent: Material.color(Material.Blue)
将使它正常工作。