def __init__(self, parent=None): super(mainWindow, self).__init__() #初始化opener self.opener = getOpener(mainWindow.header) self.setupUi(self) self.center() self.retranslateUi(self) self.__initConnectAndOtherOperation__() self.hasInitQKThread = False
def __init__(self, password, userName, lessonsToGrab, id): super(QKThread, self).__init__() #线程编号 self.lessonsToGrab = lessonsToGrab self.id = id self.password = password self.userName = userName #初始化opener self.openner = login.getOpener(QKThread.header) self.goOn = True self.exitCode = 0 #抢课成功的数目 self.successNum = 0
def finishQK(self, id): if self.QKThreadList[id].exitCode == 1: # 处理超时错误 self.opener = getOpener(mainWindow.header) lessons = self.treeWidgetQKInfo.findItems(str("连接服务器超时,重新发送请求"), Qt.MatchExactly, 4) if len(lessons) > 50: self.treeWidgetQKInfo.clear() item = QTreeWidgetItem(self.treeWidgetQKInfo) item.setText(0, str(id)) timeArray = time.localtime(time.time()) postTime = time.strftime('%Y-%m-%d %H:%M:%S', timeArray) item.setText(3, postTime) item.setText(4, "连接服务器超时,重新发送请求") #重新开始异常退出的线程 if self.goOnQK == True: self.restartQKThread(id)
def endLogin(self, userDic): if self.loginThread.exitcode == 1: #线程异常退出 timeArray = time.localtime(time.time()) postTime = time.strftime('%Y-%m-%d %H:%M:%S', timeArray) self.labelTip.setText("登录超时,尝试重新登陆中(远程服务器响应过慢)\n处理时间:" + postTime) self.isLogin(False) #重新开一个opener self.opener = getOpener(mainWindow.header) #重新登陆 self.OnbtnLogin() return #登录完成,处理登录线程发回的数据 if "userName" not in userDic.keys(): return else: if (len(userDic["userName"]) == 0): #登录失败 QMessageBox.warning(self, "error", "用户名或者密码有误!") self.isLogin(False) return # 登录成功 self.isLoginTag = True self.UserName = self.lineEditNumber.text() self.UserPassWord = self.lineEditPassword.text() self.isLogin(True) self.labelName.setText(userDic["userName"][4:]) self.labelIP.setText("IP地址:" + userDic["ipAddress"]) self.labelPhone.setText("电话号码:" + userDic["phoneNumber"]) self.labelLoginTime.setText("登录时间:" + userDic["loginTime"]) # 判断用户是否选择记住密码 if self.checkBoxRememberMe.isChecked() == True: # 将用户信息写入数据库 userNumber = self.lineEditNumber.text() userPassword = self.lineEditPassword.text() try: user.creatUser(userNumber, userPassword) # 更新显示 self.getUsers() except: print("写入失败!")