Qt qml 按钮悬停颜色
Qt qml Button hover color
我有一个自定义 QML 按钮,如下所示。
import QtQuick 2.15
import QtQuick.Controls 2.15
Button{
id: dashId
width: 155
height: 40
implicitWidth: 155
implicitHeight: 40
text: 'hello'
flat: true
property color colorNormal: '#353535'
property color colorHovered: '#04b9b9'
property color colorClicked: '#4d4f50'
background: Rectangle{
id: bgColor
radius: 10
color: internal.hoverColor
}
contentItem: Item {
id: buttonItem
visible: true
Text {
id: buttonText
text: dashId.text
anchors.centerIn: parent
color: 'white'
}
}
QtObject{
id: internal
property var hoverColor: if(dashId.down){
dashId.down ? colorClicked : colorNormal
}else{
dashId.hovered ? colorHovered : colorNormal
}
}
}
悬停时,它的默认悬停颜色仍然位于自定义悬停颜色之上,而不仅仅是自定义颜色。
我在 Windows 10 上使用 Qt6 和 QtQuick 1.14.1。
我发现了问题。
我必须在按钮内设置 highlighted: true
和 flat: true
。
我遇到了类似的问题。在 macOS 和 Linux 上,所有按钮都按预期呈现,但在 Windows 上,有一个过渡到所需的悬停颜色,然后按钮逐渐变为白色。
问题已解决:
平:真
我有一个自定义 QML 按钮,如下所示。
import QtQuick 2.15
import QtQuick.Controls 2.15
Button{
id: dashId
width: 155
height: 40
implicitWidth: 155
implicitHeight: 40
text: 'hello'
flat: true
property color colorNormal: '#353535'
property color colorHovered: '#04b9b9'
property color colorClicked: '#4d4f50'
background: Rectangle{
id: bgColor
radius: 10
color: internal.hoverColor
}
contentItem: Item {
id: buttonItem
visible: true
Text {
id: buttonText
text: dashId.text
anchors.centerIn: parent
color: 'white'
}
}
QtObject{
id: internal
property var hoverColor: if(dashId.down){
dashId.down ? colorClicked : colorNormal
}else{
dashId.hovered ? colorHovered : colorNormal
}
}
}
悬停时,它的默认悬停颜色仍然位于自定义悬停颜色之上,而不仅仅是自定义颜色。
我在 Windows 10 上使用 Qt6 和 QtQuick 1.14.1。
我发现了问题。
我必须在按钮内设置 highlighted: true
和 flat: true
。
我遇到了类似的问题。在 macOS 和 Linux 上,所有按钮都按预期呈现,但在 Windows 上,有一个过渡到所需的悬停颜色,然后按钮逐渐变为白色。
问题已解决:
平:真