我在项目中创建了一个滑块,并按照以下代码进行了自定义:
Item {
id: item1
x: 0
y: 0
width: 200
height: parent.height
Rectangle {
id: background
anchors.fill: parent;
color:Qt.rgba(0.9,0.9,0.9,1);
}
Slider {
anchors.centerIn: parent
orientation: Qt.Vertical
height: parent.height
style: SliderStyle {
groove: Rectangle {
implicitWidth: 200
implicitHeight: 8
color: "gray"
radius: 8
}
handle: Rectangle {
anchors.centerIn: parent
color: control.pressed ? "white" : "lightgray"
border.color: "gray"
border.width: 2
width: 20
height: 20
radius: 6
}
}
}
}
当我更改手柄的大小以使其宽于高时出现问题,因此我更改了手柄:
width: 20
height: 80 //the height is changed instead of width but I think
//it's because it is a vertical slider
然后,当我移动手柄时,它不会停留在鼠标光标下,但两者之间存在偏移。
如何解决这个问题?
答案 0 :(得分:0)
当方向为垂直时,滑块为internally rotated 90 degrees,因此您需要设置width
而不是height
。换句话说,假设滑块是水平的,总是设置手柄的样式,其余的只是工作......
...除了您刚刚遇到的鼠标偏移错误。您的用例似乎不是auto-tested。请在bugreports.qt.io提交错误报告。