Qt Quick - Slider

Qt Quick - Slider理论使用总结

一、概述

Slider 其实就是一个滚动条控件,用来选择一个值,表现的形式就是在一个轨道上通过一个滑块来改变的。一般就是在音量设置之类的使用。

在这里插入图片描述

使用这个就很好绑定的
在这里插入图片描述

ColumnLayout{
        anchors.fill: parent;

        RowLayout{
            Label{
                text: "音量值:"
            }
            Label{
                id: musicLoud
                text: "0"
            }
            Layout.alignment: Qt.AlignHCenter
        }

        Slider{
            from: 1
            value: 20
            to: 100
            stepSize:1

            Layout.alignment: Qt.AlignHCenter
            onMoved: {
                musicLoud.text = value/1;
            }
        }
}

二、使用介绍

一般就是通过设置自定义的from、value和 to 值:
简单的例子如下:

  Slider {
      from: 1
      value: 25
      to: 100
  }

Slider 有一个属性是 position属性表示为控件大小的一个小数,也就是控件的逻辑值,会被映射到0-1区间内。取值范围为0.0 ~ 1.0。visualPosition属性和上面一样,如果在从右到左的使用中是要颠倒过来的。

当设置滑块样式时,visualPosition用于定位手柄。在上面的例子中,在从左到右的应用中,visualPosition的值为0.24,而在从右到左的应用中,visualPosition的值为0.76。

三、定制化样式

在这里插入图片描述
Slider 就需要定制background 和 handle 组件即可。

  Slider {
      id: control
      value: 0.5

      background: Rectangle {
          x: control.leftPadding
          y: control.topPadding + control.availableHeight / 2 - height / 2
          implicitWidth: 200
          implicitHeight: 4
          width: control.availableWidth
          height: implicitHeight
          radius: 2
          color: "#bdbebf"

          Rectangle {
              width: control.visualPosition * parent.width
              height: parent.height
              color: "#21be2b"
              radius: 2
          }
      }

      handle: Rectangle {
          x: control.leftPadding + control.visualPosition * (control.availableWidth - width)
          y: control.topPadding + control.availableHeight / 2 - height / 2
          implicitWidth: 26
          implicitHeight: 26
          radius: 13
          color: control.pressed ? "#f0f0f0" : "#f6f6f6"
          border.color: "#bdbebf"
      }
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

太阳风暴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值