Qt qml中如何根据滑块值的变化在QSlider上添加标记

How to add markers on QSlider according to slider value changes in Qt qml

在我的应用程序中,我使用的是 1 到 100 范围内的 QSlider。我正在使用滑块手柄更改滑块值。我想在更改值后滑块手柄所在的位置绘制标记或勾选。更改值时如何在滑块上绘制标记

  Slider {
    id:   maultipleSlider
    value: 0
    from: 100
    to: 0
    rotation: 90       // <--- rotation
    x: 50;
    y: 200     // x & y position
    ToolTip {
          parent: maultipleSlider.handle
          visible: maultipleSlider.pressed
          text: maultipleSlider.value.toFixed(2)
      }
    onValueChanged:
    {
        console.log("Slider value ",  maultipleSlider.value)
    }
       background: Rectangle {
        x:   maultipleSlider.leftPadding
        y:   maultipleSlider.topPadding +   maultipleSlider.availableHeight / 2 - height / 2
        implicitWidth: 400
        implicitHeight: 6
        width:   maultipleSlider.availableWidth
        height: implicitHeight
        radius: 5
        color: "#48B0E5"
        border.color: "white"
        Rectangle {
            width:   maultipleSlider.visualPosition * parent.width
            height: parent.height
            color: "#bdbebf"
            radius: 2
        }
    }
}

使用slider->setTickInterval(int)

或者如果你是在Qt Designer中,在属性编辑器window下,QSlider下面有一个tickInterval属性可以设置.还有另一个字段 tickPosition 将在所选位置显示您的刻度线。

参见:https://doc.qt.io/qt-5/qslider.html