blob: 39e48da54af78cabd818889e93a9ff9a560b679d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
import QtQuick 1.0
/*!
\qmltype ProgressBar
\inqmlmodule UIComponents
\brief A component that shows the progress of an event.
A ProgressBar shows the linear progress of an event as its \l value.
The range is specified using the \l {minimum} and the \l{maximum} values.
The ProgressBar component is part of the \l {UI Components} module.
This documentation is part of the \l{componentset}{UIComponents} example.
*/
Item {
id: progressbar
/*!
The minimum value of the ProgressBar range.
The \l value must not be less than this value.
*/
property int minimum: 0
/*!
The maximum value of the ProgressBar range.
The \l value must not be more than this value.
*/
property int maximum: 100
/*!
The value of the progress.
*/
property int value: 0
/*!
\qmlproperty color ProgressBar::color
The color of the ProgressBar's gradient. Must bind to a color type.
\omit
The "\qmlproperty <type> <property name>" is needed because
property alias need to have their types manually entered.
QDoc will not publish the documentation within omit and endomit.
\endomit
\sa secondColor
*/
property alias color: gradient1.color
/*!
\qmlproperty color ProgressBar::secondColor
The second color of the ProgressBar's gradient.
Must bind to a color type.
\omit
The "\qmlproperty <type> <property name>" is needed because
property alias need to have their types manually entered.
QDoc will not publish the documentation within omit and endomit.
\endomit
\sa color
*/
property alias secondColor: gradient2.color
width: 250; height: 23
clip: true
Rectangle {
id: highlight
/*!
An internal documentation comment. The widthDest property is not
a public API and therefore will not be exposed.
*/
property int widthDest: ((progressbar.width * (value - minimum)) / (maximum - minimum) - 6)
width: highlight.widthDest
Behavior on width { SmoothedAnimation { velocity: 1200 } }
anchors { left: parent.left; top: parent.top; bottom: parent.bottom; margins: 3 }
radius: 1
gradient: Gradient {
GradientStop { id: gradient1; position: 0.0 }
GradientStop { id: gradient2; position: 1.0 }
}
}
Text {
anchors { right: highlight.right; rightMargin: 6; verticalCenter: parent.verticalCenter }
color: "white"
font.bold: true
text: Math.floor((value - minimum) / (maximum - minimum) * 100) + '%'
}
}
|