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.

186 lines
7.8 KiB
Python

7 months ago
import base64
import sys
from PyQt5.QtCore import QSize, Qt
from PyQt5.QtWidgets import QPushButton,QApplication, QMessageBox
from PyQt5.QtWidgets import QWidget
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
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")
pix = QtGui.QPixmap(':/:/static/logo.png')
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_())