当我尝试设置" handle:Rectangle"时,我在移动滑块手柄时遇到问题。 ,下面是代码:
Slider {
id: slider
x: 372
y: 70
width: 33
height: 457
spacing: 0
anchors.rightMargin: 395
rotation: 0
orientation: Qt.Vertical
font.family: "Arial"
value: 0.5
anchors.right: parent.right
background: Rectangle {
anchors.centerIn: parent
x: slider.topPadding + slider.availableWidth / 2 - width / 2
y: slider.leftPadding
implicitWidth: 200
implicitHeight: 4
width: slider.availableHeight
height: implicitHeight
radius: 2
rotation: 90
color: "#bdbebf"
}
handle: Rectangle {
anchors.centerIn: parent
color: slider.pressed ? "white" : "red"
border.color: "gray"
//border.width: 2
width: 20
height: 20
radius: 6
}
}
如果我没有设置样式句柄:矩形,我可以移动滑块。
请建议。
答案 0 :(得分:3)
也就是说,因为你无法将它锚定到中心。您需要根据x
指定y
和visualPosition
值。
有关如何自定义滑块的信息,请参阅example。
请注意,那里提供的自定义不考虑垂直滑块,因此您需要对其进行调整:
y: slider.topPadding + slider.visualPosition * (slider.availableHeight - height)
x: slider.leftPadding + slider.availableWidth / 2 - width / 2
应该为你做。当然要删除锚定!