Как изменить круговой индикатор выполнения в QML Dial? - PullRequest
0 голосов
/ 14 февраля 2019

У меня проблема с изменением цвета индикатора выполнения в компоненте набора QML.Я пытался использовать Canvas, но в итоге ничего не сделал.Любые предложения или примеры?

Dial {
    value: 0.5
    anchors.horizontalCenter: parent.horizontalCenter
}

черный индикатор выполнения

Ответы [ 2 ]

0 голосов
/ 15 февраля 2019

Еще один способ изменить цвет элемента - ColorOverlay, поддерживающий RGBA.

https://doc.qt.io/qt-5/qml-qtgraphicaleffects-coloroverlay.html#details

import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.5
import QtGraphicalEffects 1.12

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

    Dial {
        id: dial
        value: .5
        anchors.centerIn: parent
    }

    ColorOverlay {
        anchors.fill: dial
        source: dial
        color: "#80800000"
    }
}
0 голосов
/ 15 февраля 2019

Как указано в это еще один ответ вы можете использовать палитру, для этого вы можете проверить исходный код , поэтому решение:

import QtQuick 2.9
import QtQuick.Window 2.2
import QtQuick.Controls 2.5

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

    Dial {
        // @disable-check M17
        palette.dark: "red"
        value: .5
        anchors.centerIn: parent
    }
}
...