#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.