Цвет наведения кнопки Qt qml
У меня есть собственный QML Buton, как показано ниже.
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
}
}
}
при наведении у него по-прежнему будет свой цвет наведения по умолчанию поверх настраиваемого цвета при наведении, а не только на настраиваемый цвет.
Я использую Qt6 и QtQuick 1.14.1 в Windows 10.
3 ответа
У меня была аналогичная проблема. В macOS и Linux все кнопки отображались должным образом, но в Windows произошел переход к желаемому цвету при наведении курсора, и после этого кнопка стала белой.
Проблема была решена с помощью:
квартира: правда
Я нашел проблему. Я должен был установить
highlighted: true
и
flat: true
внутри моей кнопки.
Наборflat: true
иdown: false
чтобы избавиться от всех эффектов изменения цвета!