-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathui_functions.py
79 lines (62 loc) · 2.75 KB
/
ui_functions.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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
################################################################################
##
# BY: WANDERSON M.PIMENTA
# PROJECT MADE WITH: Qt Designer and PySide2
# V: 1.0.0
##
################################################################################
# ==> GUI FILE
from main import *
# ==> GLOBALS
GLOBAL_STATE = 0
class UIFunctions(MainWindow):
# ==> MAXIMIZE RESTORE FUNCTION
def maximize_restore(self):
global GLOBAL_STATE
status = GLOBAL_STATE
# IF NOT MAXIMIZED
if status == 0:
self.showMaximized()
# SET GLOBAL TO 1
GLOBAL_STATE = 1
# IF MAXIMIZED REMOVE MARGINS AND BORDER RADIUS
self.ui.drop_shadow_layout.setContentsMargins(0, 0, 0, 0)
self.ui.drop_shadow_frame.setStyleSheet(
"background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(42, 44, 111, 255), stop:0.521368 rgba(28, 29, 73, 255)); border-radius: 0px;")
self.ui.btn_maximize.setToolTip("Restore")
else:
GLOBAL_STATE = 0
self.showNormal()
self.resize(self.width() + 1, self.height() + 1)
self.ui.drop_shadow_layout.setContentsMargins(10, 10, 10, 10)
self.ui.drop_shadow_frame.setStyleSheet(
"background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(42, 44, 111, 255), stop:0.521368 rgba(28, 29, 73, 255)); border-radius: 10px;")
self.ui.btn_maximize.setToolTip("Maximize")
# ==> UI DEFINITIONS
def uiDefinitions(self):
# REMOVE TITLE BAR
self.setWindowFlag(QtCore.Qt.FramelessWindowHint)
self.setAttribute(QtCore.Qt.WA_TranslucentBackground)
# SET DROPSHADOW WINDOW
self.shadow = QGraphicsDropShadowEffect(self)
self.shadow.setBlurRadius(20)
self.shadow.setXOffset(0)
self.shadow.setYOffset(0)
self.shadow.setColor(QColor(0, 0, 0, 100))
# APPLY DROPSHADOW TO FRAME
self.ui.drop_shadow_frame.setGraphicsEffect(self.shadow)
# MAXIMIZE / RESTORE
self.ui.btn_maximize.clicked.connect(
lambda: UIFunctions.maximize_restore(self))
# MINIMIZE
self.ui.btn_minimize.clicked.connect(lambda: self.showMinimized())
# CLOSE
self.ui.btn_close.clicked.connect(lambda: self.close())
# ==> CREATE SIZE GRIP TO RESIZE WINDOW
self.sizegrip = QSizeGrip(self.ui.frame_grip)
self.sizegrip.setStyleSheet(
"QSizeGrip { width: 10px; height: 10px; margin: 5px } QSizeGrip:hover { background-color: rgb(50, 42, 94) }")
self.sizegrip.setToolTip("Resize Window")
# RETURN STATUS IF WINDOWS IS MAXIMIZE OR RESTORED
def returnStatus():
return GLOBAL_STATE