Ползунок x и y в qml - PullRequest
       16

Ползунок x и y в qml

0 голосов
/ 20 апреля 2020

Я хочу использовать Slider для вертикальной и горизонтальной ориентации.

import QtQuick 2.12
import QtQuick.Controls 2.0

Slider {
    id: control 

    property bool sliderVertical: true

    width: 300
    height: 220
    rotation: sliderVertical ? 90 : 180
    x: sliderVertical ? -50 : 50
    y: sliderVertical ? 100 : -100

    background: Rectangle {
        x: sliderVertical ?  control.leftPadding + (control.availableWidth - width) / 2 : control.leftPadding
        y: sliderVertical ? (control.topPadding + (control.availableHeight - height)) / 2 : control.topPadding + (control.availableHeight/2 - height/2)
        implicitWidth: sliderVertical ? 10 : 300
        implicitHeight: sliderVertical ? 300: 10
        border.color: "#353637"
        color: "red"
        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
        color: control.pressed ? "#f0f0f0" : "#f6f6f6"
        border.color: "#bdbebf"
    }
}

Я пытаюсь описать фрагмент кода выше. Но я не могу понять, как установить x и y для прямоугольника фона и обработать прямоугольник. Кто-нибудь может подсказать?

...