Qt/QML学习-RangeSlider

QML学习

main.qml

import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick.Controls 2.15

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("RangeSlider")

    RangeSlider {
        id: rangeSlider
        from: 0
        to: 100
        first {
            value: 10
            handle: Rectangle {
                implicitWidth: 30
                implicitHeight: 30
                border.width: 1
                x: rangeSlider.leftPadding
                   + rangeSlider.first.visualPosition
                   * (rangeSlider.availableWidth - width)
                y: rangeSlider.height / 2 - height / 2
                Text {
                    anchors.centerIn: parent
                    font.pointSize: 15
                    text: rangeSlider.first.value.toFixed(0)
                }
            }
        }
        second {
            value: 90
            handle: Rectangle {
                implicitWidth: 30
                implicitHeight: 30
                border.width: 1
                x: rangeSlider.leftPadding
                   + rangeSlider.second.visualPosition
                   * (rangeSlider.availableWidth - width)
                y: rangeSlider.height / 2 - height / 2
                Text {
                    anchors.centerIn: parent
                    font.pointSize: 15
                    text: rangeSlider.second.value.toFixed(0)
                }
            }
        }
        background: Rectangle {
            implicitWidth: 200
            implicitHeight: 40
            border.width: 1
            Rectangle {
                width: parent.width - rangeSlider.leftPadding
                       - rangeSlider.rightPadding
                height: 10
                radius: 5
                anchors.centerIn: parent
                color: "black"
            }
            Rectangle {
                x: rangeSlider.first.visualPosition * parent.width
                   + rangeSlider.leftPadding
                width: rangeSlider.second.visualPosition * parent.width
                       - x - rangeSlider.rightPadding
                height: 10
                anchors.verticalCenter: parent.verticalCenter
                color: "red"
            }
        }
    }
}

演示

视频讲解

相关推荐
左漫在成长1 小时前
王佩丰24节Excel学习笔记——第二十四讲:宏表函数
笔记·学习·excel
Miqiuha5 小时前
建造者设计模式学习
学习·设计模式
mit6.8245 小时前
[Qt] Qt介绍 | 搭建SDK
linux·c++·qt·学习
阳光开朗_大男孩儿5 小时前
QT_BEGIN_NAMESPACE 和 QT_END_NAMESPACE(一)
开发语言·数据库·qt
宇寒风暖5 小时前
软件工程期末复习(一)
笔记·学习·软件工程
sensen_kiss5 小时前
CPT203 Software Engineering 软件工程 Pt.6 软件管理(中英双语)
学习·软件工程
多恩Stone5 小时前
【Domain Generalization(1)】增量学习/在线学习/持续学习/迁移学习/多任务学习/元学习/领域适应/领域泛化概念理解
人工智能·学习·迁移学习
Prejudices6 小时前
Qt信号的返回值
开发语言·qt
IT古董7 小时前
【机器学习】机器学习的基本分类-自监督学习-对比学习(Contrastive Learning)
人工智能·学习·机器学习·分类
霜雪殇璃8 小时前
2021.12.28基于UDP同信的相关流程
笔记·学习