Как добавить маркеры в QSlider в соответствии с изменениями значений слайдера в Qt qml

#qt #qml #slider #marker

#qt #qml #ползунок #маркер

Вопрос:

В моем приложении я использую QSlider в диапазоне от 1 до 100. Я меняю значение ползунка с помощью ручки ползунка. Я хочу нанести маркеры или отметить, где будет находиться дескриптор ползунка после изменения значения. Как я могу отобразить маркеры на ползунке при изменении значения

   Slider {
    id:   maultipleSlider
    value: 0
    from: 100
    to: 0
    rotation: 90       // <--- rotation
    x: 50;
    y: 200     // x amp; 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
        }
    }
}
  

Комментарии:

1. Не могли бы вы, пожалуйста, уточнить вопрос? Или, может быть, вы можете предоставить изображение? Что именно вы хотите заархивировать? Разве ваш ползунок не указывает на значение? Кстати, есть свойство Slider.orientation , чтобы сделать его вертикальным, не нужно использовать вращение.

Ответ №1:

Использовать slider->setTickInterval(int)

Или, если вы находитесь в Qt Designer, в окне редактора свойств, под QSlider есть tickInterval свойство, которое можно установить. Есть еще одно поле, tickPosition в котором будут отображаться ваши отметки в выбранной позиции.

Смотрите:https://doc.qt.io/qt-5/qslider.html

Комментарии:

1. Вопрос касается слайдера QML.