【问题标题】:How to add markers on QSlider according to slider value changes in Qt qmlQt qml中如何根据滑块值变化在QSlider上添加标记
【发布时间】:2020-09-14 06:46:56
【问题描述】:

在我的应用程序中,我使用的是 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.orientation 属性使其垂直,无需使用旋转。

标签: qt qml slider marker


【解决方案1】:

使用slider-&gt;setTickInterval(int)

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

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

【讨论】:

  • 问题是关于 QML 滑块的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-23
  • 1970-01-01
  • 2013-06-26
  • 1970-01-01
  • 2011-05-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多