You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DCS/UI/RegisterWidgets/RegisterWidget.py

200 lines
8.1 KiB
Python

2 years ago
import base64
import sys
from PyQt5.QtCore import QSize, Qt
from PyQt5.QtWidgets import QHBoxLayout, QPushButton, QAbstractItemView, QTableView, QVBoxLayout, QSplitter, \
QApplication, QGroupBox, QLabel, QGridLayout, QLineEdit, QComboBox, QTextEdit, QCheckBox, QVBoxLayout, QListView, \
QMessageBox
from PyQt5.QtWidgets import QWidget, QSpacerItem, QHeaderView
from model.ClientModel.RegisterManage import Register
from PyQt5 import QtCore, QtGui, QtWidgets
from utils import Globals
from UI.Main.Main import MainWindow
from model.ClientModel.Client import Client
2 years ago
from Static import static
2 years ago
class RegisterWidget(QWidget):
def __init__(self):
super(RegisterWidget, self).__init__()
self.setObjectName('registerWidget')
self.resize(960, 640)
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.label = QtWidgets.QLabel(self)
self.label.setObjectName("registerlabel")
self.horizontalLayout.addWidget(self.label)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem)
self.verticalLayout_2.addLayout(self.horizontalLayout)
spacerItem1 = QtWidgets.QSpacerItem(20, 81, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_2.addItem(spacerItem1)
self.horizontalLayout_2 = QtWidgets.QHBoxLayout()
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
spacerItem2 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_2.addItem(spacerItem2)
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setObjectName("verticalLayout")
self.label_1 = QtWidgets.QLabel(self)
self.label_1.setObjectName("registerlabel_1")
self.verticalLayout.addWidget(self.label_1)
self.label_1.setAlignment(QtCore.Qt.AlignBottom | QtCore.Qt.AlignLeading | QtCore.Qt.AlignLeft)
self.reg = Register()
self.lineEdit_2 = QtWidgets.QLineEdit(self)
self.lineEdit_2.setObjectName("registerlineEdit")
self.verticalLayout.addWidget(self.lineEdit_2)
self.lineEdit_2.setText(self.reg.str)
self.lineEdit_2.setReadOnly(True)
self.horizontalLayout_2.addLayout(self.verticalLayout)
self.verticalLayout.setSpacing(12)
self.label_2 = QtWidgets.QLabel(self)
self.label_2.setObjectName("registerlabel_2")
self.verticalLayout.addWidget(self.label_2)
self.label_2.setAlignment(QtCore.Qt.AlignBottom|QtCore.Qt.AlignLeading|QtCore.Qt.AlignLeft)
self.lineEdit = QtWidgets.QLineEdit(self)
self.lineEdit.setObjectName("registerlineEdit")
self.verticalLayout.addWidget(self.lineEdit)
self.verticalLayout.setSpacing(12)
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_2.addItem(spacerItem3)
self.verticalLayout_2.addLayout(self.horizontalLayout_2)
spacerItem4 = QtWidgets.QSpacerItem(20, 39, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_2.addItem(spacerItem4)
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem5)
self.confirm_btn = QPushButton(self)
self.confirm_btn.setObjectName("registerPushButton")
self.horizontalLayout_3.addWidget(self.confirm_btn)
self.cancel_btn = QPushButton(self)
self.cancel_btn.setObjectName("cancel_btn")
self.horizontalLayout_3.addWidget(self.cancel_btn)
spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout_3.addItem(spacerItem6)
self.horizontalLayout_3.setSpacing(15)
self.verticalLayout_2.addLayout(self.horizontalLayout_3)
spacerItem7 = QtWidgets.QSpacerItem(20, 81, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.verticalLayout_2.addItem(spacerItem7)
self.label_3 = QtWidgets.QLabel(self)
self.label_3.setAlignment(QtCore.Qt.AlignCenter)
self.label_3.setObjectName("registerlabel_2")
self.verticalLayout_2.addWidget(self.label_3)
self.verticalLayout_2.setStretch(0, 1)
self.verticalLayout_2.setStretch(1, 1)
self.verticalLayout_2.setStretch(2, 2)
self.verticalLayout_2.setStretch(3, 1)
self.verticalLayout_2.setStretch(4, 2)
self.verticalLayout_2.setStretch(5, 2)
self.setWindowFlag(Qt.FramelessWindowHint)
self.verticalLayout_2.setContentsMargins(0, 0, 0, 15)
self.setWindowTitle("Form")
# self.label.setText("TextLabel")
2 years ago
pix = QtGui.QPixmap(':/:/static/logo.png')
2 years ago
self.label.setPixmap(pix)
self.label.setScaledContents(True)
self.label.setMaximumSize(QSize(110,40))
self.label_2.setText("激活码:")
self.label_1.setText('设备信息:')
self.confirm_btn.setText("激活")
self.cancel_btn.setText("取消")
self.confirm_btn.clicked.connect(self.activeLicense)
self.cancel_btn.clicked.connect(self.close)
self.show()
def mouseMoveEvent(self, e: QtGui.QMouseEvent): # 重写移动事件
try:
self._endPos = e.pos() - self._startPos
self.move(self.pos() + self._endPos)
except:
pass
def mousePressEvent(self, e: QtGui.QMouseEvent):
if e.button() == QtCore.Qt.LeftButton:
self._isTracking = True
self._startPos = QtCore.QPoint(e.x(), e.y())
def mouseReleaseEvent(self, e: QtGui.QMouseEvent):
if e.button() == QtCore.Qt.LeftButton:
self._isTracking = False
self._startPos = None
self._endPos = None
def activeLicense(self):
passwd = self.lineEdit.text()
try:
str1 = base64.b64decode(passwd)
except ValueError:
reply = QMessageBox.question(self.parent(),
'提示',
"请输入正确格式的激活码",
QMessageBox.Yes)
return
if passwd:
if self.reg.regist(passwd):
reply = QMessageBox.question(self.parent(),
'提示',
"注册成功",
QMessageBox.Yes)
with open('static/license.lic', 'w') as f:
f.write(passwd)
self.showMainWindow()
self.close()
else:
reply = QMessageBox.question(self.parent(),
'提示',
"激活码有误",
QMessageBox.Yes)
return
else:
reply = QMessageBox.question(self.parent(),
'提示',
"请输入激活码",
QMessageBox.Yes)
return
def showMainWindow(self):
Globals._init()
Client.initDB()
ex = MainWindow()
Globals.setValue('MainWindow', ex)
ex.show()
class QPushButton(QPushButton):
def __init__(self, *__args: any,clicked = None):
super(QPushButton,self).__init__(*__args)
self.setCursor(Qt.PointingHandCursor)
self.setIconSize(QSize(14, 14))
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = RegisterWidget()
ex.show()
sys.exit(app.exec_())