如何更改QML Dial中的循环进度条?

时间:2019-02-14 20:53:02

标签: qt qml progress-bar qt5

我在QML Dial Component中更改进度栏颜色有问题。我尝试使用Canvas,但最终我什么也没做。有什么建议或例子吗?

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

黑色进度条

2 个答案:

答案 0 :(得分:1)

this another answer所示,您可以使用调色板,为此您可以检查source code,因此解决方案是:

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
    }
}

答案 1 :(得分:1)

另一种更改项目颜色的方法是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"
    }
}