C
Qt Quick Ultralite studio_components Example
// Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial import QtQuick import QtQuick.Shapes import QtQuickUltralite.Studio.Components import Theme Item { id: root readonly property int angleOffset: 45 property int beginAngle: 180 + root.angleOffset property int endAngle: 180 + 360 - root.angleOffset property alias arcWidth: arc.arcWidth property alias fillColor: arc.fillColor property alias fillDarkColor: gradientStop2.color property alias outlineArc: arc.outlineArc property alias round: arc.round property int value: 0 property int valueAngle: root.beginAngle + (root.endAngle - root.beginAngle) * root.value / 100 + 1 height: 160 width: 160 Timer { id: lazyTimer interval: 250 repeat: true running: true onTriggered: { digit.text = root.value; } } ArcItem { id: bg anchors.centerIn: parent arcWidth: arc.arcWidth begin: root.beginAngle end: root.endAngle fillColor: "#707070" height: arc.width outlineArc: arc.outlineArc round: arc.round strokeWidth: 0 strokeColor: Theme.backgroundArcStrokeColor width: root.width } ArcItem { id: arc anchors.centerIn: parent arcWidth: 28 begin: root.beginAngle end: root.valueAngle fillColor: "#00414a" height: arc.width outlineArc: true round: true strokeColor: Theme.foregroundArcStrokeColor strokeWidth: 2 width: root.width gradient: LinearGradient { x1: 0 y1: 20 x2: 160 y2: 140 GradientStop { id: gradientStop1 color: arc.fillColor position: 0.5 } GradientStop { id: gradientStop2 color: "#400006" position: 1 } } } Text { id: digit anchors.centerIn: parent color: "gray" font.bold: true font.italic: true font.pixelSize: 32 } }