我正在寻找一种使用QML为按钮的所有状态创建自定义样式的方法。到目前为止,我只找到了以下方法来创建一个可以应用于多个按钮的样式
Component {
id: leftButtonStyle
ButtonStyle {
background: Rectangle {
width: control.width
height: control.height
color: "black"
}
label: Text {
font.family: "Helvetica"
font.pointSize: 10
color: "#949599"
text: control.text
}
}
}
Button {
text:"Button One"
style: leftButtonStyle
}
Button {
text:"Button Two"
style: leftButtonStyle
}
但是这只会改变按钮的正常状态,并且在按下按钮时找不到给出样式的方法。
答案 0 :(得分:4)
在ButtonStyle
中,您可以使用control.hovered
和control.pressed
来确定何时悬停或按下按钮。
ButtonStyle {
background: Rectangle {
width: control.width
height: control.height
color: control.pressed ? "gray" : "black"
}
}
答案 1 :(得分:1)
您可以查看名为 QtQuick Control Touch Gallery 的示例项目,或者您可以在此处查看在线版http://qt-project.org/doc/qt-5/qtquickcontrols-touch-content-buttonpage-qml.html