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 from Static import static 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") 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_())