blob: f1220c3321747afe276b6c3a028e54c9939d23d6 (
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
|
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
//! [1]
import QtQuick 2.0
import Spinner 1.0
Rectangle {
width: 320
height: 480
gradient: Gradient {
GradientStop { position: 0; color: "lightsteelblue" }
GradientStop { position: 1; color: "black" }
}
Rectangle {
color: Qt.rgba(1, 1, 1, 0.7);
radius: 10
border.width: 1
border.color: "white"
anchors.fill: blockingLabel;
anchors.margins: -10
}
Text {
id: blockingLabel
color: blocker.running ? "red" : "black"
text: blocker.running ? "Blocked!" : "Not blocked"
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: parent.top
anchors.topMargin: 100
}
Timer {
id: blocker
interval: 357
running: false;
repeat: true
onTriggered: {
var d = new Date();
var x = 0;
var wait = 50 + Math.random() * 200;
while ((new Date().getTime() - d.getTime()) < 100) {
x += 1;
}
}
}
Timer {
id: blockerEnabler
interval: 4000
running: true
repeat: true
onTriggered: {
blocker.running = !blocker.running
}
}
Spinner {
anchors.centerIn: parent
anchors.horizontalCenterOffset: 80
spinning: true
}
Image {
anchors.centerIn: parent
anchors.horizontalCenterOffset: -80
source: "spinner.png"
NumberAnimation on rotation {
from: 0; to: 360; duration: 1000; loops: Animation.Infinite
}
}
Rectangle {
color: Qt.rgba(1, 1, 1, 0.7)
radius: 10
border.width: 1
border.color: "white"
anchors.fill: label
anchors.margins: -10
}
Text {
id: label
color: "black"
wrapMode: Text.WordWrap
text: "This application shows two spinners. The one to the right is animated on the scene graph thread (when applicable) and the left one is using the normal Qt Quick animation system."
anchors.right: parent.right
anchors.left: parent.left
anchors.bottom: parent.bottom
anchors.margins: 20
}
}
//! [2]
|