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
186 lines
7.8 KiB
Python
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_()) |