-
Notifications
You must be signed in to change notification settings - Fork 1
/
Splashscreen.qml
94 lines (75 loc) · 2.19 KB
/
Splashscreen.qml
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
/*******************************************************************/
/* Original File Name: Splashscreen.qml */
/* Date: 05-08-2018 */
/* Developer: Dionysus Benstein */
/* Copyright © 2018 Dionysus Benstein. All rights reserved. */
/* Description: Заставка во время инициализации програмы. */
/*******************************************************************/
import QtQuick 2.11
import QtQuick.Window 2.2
import QtQuick.Controls 2.2
Loader {
id: loader
Component {
id: splash
Window {
id: splashWindow
x: Math.round((mainWindow.width - width) / 2)
y: Math.round((mainWindow.height - height) / 2)
width: 300
height: 200
modality: Qt.ApplicationModal
flags: Qt.SplashScreen
color: "#DEDEDE"
signal timeout()
ProgressBar {
id: progress
anchors {
left: parent.left
right: parent.right
bottom: parent.bottom
}
value: 0
to: 100
from: 0
}
Timer {
id: timer
interval: 50
running: true
repeat: true
onTriggered: {
progress.value++;
if(progress.value >= 100) {
timer.stop();
splashWindow.timeout();
}
}
}
}
}
Component {
id: root
Window {
id: rootWindow
width: 800
height: 600
}
}
sourceComponent: splash
active: true
visible: true
onStatusChanged: {
if (loader.status === Loader.Ready) {
item.show();
}
}
Connections {
id: connection
target: loader.item
onTimeout: {
connection.target = null;
loader.sourceComponent = root;
}
}
}