-
Notifications
You must be signed in to change notification settings - Fork 0
/
MyWaitProgressDialog.py
56 lines (46 loc) · 1.68 KB
/
MyWaitProgressDialog.py
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
from PyQt5.Qt import *
import MyRotateProgress
class MyWaitProgressDialog(QDialog):
'''MyWaitProgressDialog(string,QWidget)'''
def __init__(self, value, targetWindow):
super(MyWaitProgressDialog, self).__init__()
self.decTile = QLabel()
self.decTile.setAlignment(Qt.AlignHCenter)
self.Dec = value
self._targetWindow = targetWindow
self._rotate = MyRotateProgress.MyRotateProgress(80,80)
self._rotate.PenStyle = MyRotateProgress.MyRotateProgress.PenStyleNormal
self._rotate.setAutoFillBackground(True)
vbox = QVBoxLayout()
vbox.setAlignment(Qt.AlignHCenter)
vbox.addStretch(1)
vbox.addWidget(self._rotate)
vbox.addWidget(self.decTile)
vbox.addStretch(1)
hbox = QHBoxLayout()
hbox.addStretch(1)
hbox.addLayout(vbox)
hbox.addStretch(1)
self._oldTargetFlags = self._targetWindow.windowFlags()
self.setLayout(hbox)
self.setWindowFlags(Qt.Dialog | Qt.FramelessWindowHint)
self.setGeometry(targetWindow.geometry())
self.setWindowOpacity(0.8)
@property
def Dec(self):
return self._dec
@Dec.setter
def Dec(self, value):
assert isinstance(value, str), "value %r not match %s" (value, QUrl)
self._dec = value
self.decTile.setText(value)
@property
def RotateStyle(self):
return self._rotate.PenStyle
@RotateStyle.setter
def RotateStyle(self, value):
self._rotate.PenStyle = value
def closeEvent(self, QCloseEvent):
self._targetWindow.setWindowFlags(self._oldTargetFlags)
def paintEvent(self, QPaintEvent):
print('paint Event')