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.

指定 xy

请参阅 example 如何自定义滑块。

请注意,此处提供的自定义不考虑垂直滑块,因此您需要对其进行调整:

y: slider.topPadding + slider.visualPosition * (slider.availableHeight - height)
x: slider.leftPadding + slider.availableWidth / 2 - width / 2

应该为你做。当然要删除锚定!