-
Notifications
You must be signed in to change notification settings - Fork 0
/
mainWindow.pyw
90 lines (76 loc) · 3.01 KB
/
mainWindow.pyw
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
# -*- coding: utf-8 -*-
import sys
import os
sys.path.append(os.path.abspath('..'))
import requests
from Warn import widget as WarnWidget
from PyQt5 import QtWidgets, QtCore, QtGui
from Login import LoginForm
from data import DataStore, DeviceInfo
from DisplayWait import DisplayWorkerForm
from CallOverScreen import CallOverScreenWidget
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.can_close = True
self.store = DataStore()
self.settings = self.store.settings
self.data = self.store.data
self.device = DeviceInfo()
self.session = requests.session()
self.setWindowTitle("芜湖东站点名会系统")
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(r':/FigureImage/resource/icon.png'),
QtGui.QIcon.Normal,
QtGui.QIcon.Off)
self.setWindowIcon(icon)
self.setup_dock_widget()
self.warn = WarnWidget.Warning(parent=self.dockWidget)
self.dockWidget.setWidget(self.warn)
self.login_form = LoginForm(parent=self)
self.login_form.login_success.connect(self.login_success)
self.setCentralWidget(self.login_form)
sys.path.append(os.getcwd())
def login_success(self):
self.login_form.close()
self.display_form = DisplayWorkerForm(parent=self)
self.display_form._begin_call_over.connect(self.begin_call_over)
self.setCentralWidget(self.display_form)
def begin_call_over(self, data):
self.display_form.close()
self.call_over_form = CallOverScreenWidget(data=data, parent=self)
self.setCentralWidget(self.call_over_form)
self.call_over_form.over.connect(self.call_over_over)
def call_over_over(self, id):
self.call_over_form.close()
from OverCall import OverCallWidget
self.over_call_widget = OverCallWidget(self, id)
self.setCentralWidget(self.over_call_widget)
def setup_dock_widget(self):
self.dockWidget = QtWidgets.QDockWidget(self)
self.dockWidget.setFloating(True)
self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, self.dockWidget)
self.dockWidget.setWindowOpacity(0.7)
self.dockWidget.setTitleBarWidget(QtWidgets.QWidget())
self.dockWidget.hide()
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
def closeEvent(self, event, *args, **kwargs):
if self.can_close:
event.accept()
else:
QtWidgets.QMessageBox.warning(self, "警告", "后台正在处理数据,请勿关闭")
event.ignore()
if __name__ == '__main__':
try:
app = QtWidgets.QApplication(sys.argv)
qss = open('./OSXLite.qss').read()
app.setStyleSheet(qss)
mainWindow = MainWindow()
mainWindow.show()
mainWindow.showMaximized()
sys.exit(app.exec_())
except SystemExit:
pass
except BaseException:
raise BaseException