QML 滑块手柄不动
QML Slider Handle is not moving
当我尝试设置 "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
}
}
如果我不设置样式,我可以移动滑块 handle:Rectangle。
请提建议。
也就是说,因为您无法将其锚定到中心。您需要根据 visualPosition
.
指定 x
和 y
值
请参阅 example 如何自定义滑块。
请注意,此处提供的自定义不考虑垂直滑块,因此您需要对其进行调整:
y: slider.topPadding + slider.visualPosition * (slider.availableHeight - height)
x: slider.leftPadding + slider.availableWidth / 2 - width / 2
应该为你做。当然要删除锚定!
当我尝试设置 "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
}
}
如果我不设置样式,我可以移动滑块 handle:Rectangle。
请提建议。
也就是说,因为您无法将其锚定到中心。您需要根据 visualPosition
.
x
和 y
值
请参阅 example 如何自定义滑块。
请注意,此处提供的自定义不考虑垂直滑块,因此您需要对其进行调整:
y: slider.topPadding + slider.visualPosition * (slider.availableHeight - height)
x: slider.leftPadding + slider.availableWidth / 2 - width / 2
应该为你做。当然要删除锚定!