class ToolboxWindow(QObject): def __init__(self, overlay_widget, **args): super().__init__(**args) self.overlay_widget = overlay_widget self.window = QUiLoader().load('toolbox.ui') self.window.setWindowFlags(self.window.windowFlags() | Qt.FramelessWindowHint | Qt.WindowStaysOnTopHint) self.window.resize(0, 0) tools = [Marker(), Eraser()] ch = WidgetFinder(self.window) ch.btnDisable.clicked.connect(lambda: overlay_widget.unset_tool()) ch.btnMarker.clicked.connect(lambda: overlay_widget.set_tool('marker')) ch.btnHighlighter.clicked.connect( lambda: overlay_widget.set_tool('highlighter')) ch.btnEraser.clicked.connect(lambda: overlay_widget.set_tool('eraser')) ch.btnClear.clicked.connect(lambda: overlay_widget.clear()) ch.btnUndo.clicked.connect(lambda: overlay_widget.undo()) ch.btnRedo.clicked.connect(lambda: overlay_widget.redo()) ch.btnClose.clicked.connect(QApplication.quit) ch.btnRed.clicked.connect(lambda: overlay_widget.set_tool('red')) ch.btnGreen.clicked.connect(lambda: overlay_widget.set_tool('green')) ch.btnBlue.clicked.connect(lambda: overlay_widget.set_tool('blue')) ch.btnYellow.clicked.connect(lambda: overlay_widget.set_tool('yellow')) ch.btnPurple.clicked.connect(lambda: overlay_widget.set_tool('purple')) ch.btnCyan.clicked.connect(lambda: overlay_widget.set_tool('cyan'))
class StartUp(QtCore.QObject): friendList = [] chat_ = {} def __init__(self): super().__init__() self.username = '' qfile_ui = QFile("E:\\Py workshop\\grdKeShe\\UI\\login.ui") qfile_ui.open(QFile.ReadOnly) qfile_ui.close() self.ui = QUiLoader().load(qfile_ui) self.ui.setWindowFlags(QtCore.Qt.FramelessWindowHint) self.ui.user.setScaledContents(True) self.ui.pass_pic.setScaledContents(True) self.ui.user.setPixmap(QPixmap('.\\static\\user.png')) self.ui.pass_pic.setPixmap(QPixmap('.\\static\\password.png')) self.ui.login.setStyleSheet('QPushButton {background-color: #1296DB; border: none; color: #FFFFFF}') self.ui.regist.setStyleSheet('QPushButton {color: #8A8A8A}') self.ui.useraccount.setStyleSheet('QLineEdit {background-color: #1296DB; border-width: 1 }') self.ui.show() self.ui.login.clicked.connect(self.userLogin) self.ui.regist.clicked.connect(self.showReg) self.ui.closebu.clicked.connect(self.stop) qfile_main = QFile("E:\\Py workshop\\grdKeShe\\UI\\mainwindow.ui") qfile_main.open(QFile.ReadOnly) qfile_main.close() self.ui_main = QUiLoader().load(qfile_main) self.ui_main.addFriend.clicked.connect(self.addFriend) self.ui_main.profile_photo.setPixmap(QPixmap('.\\static\\default.png')) self.ui_main.profile_photo.setScaledContents(True) self.ui_main.listWidget.itemClicked.connect(self.chat) self.ui_main.send.clicked.connect(self.sendmessage) self.ui_main.setWindowFlags(QtCore.Qt.FramelessWindowHint) self.ui_main.closeB.clicked.connect(self.logout) ui_file = QFile("E:\\Py workshop\\grdKeShe\\UI\\searchNot.ui") ui_file.open(QFile.ReadOnly) ui_file.close() self.ui_notice = QUiLoader().load(ui_file) self.ui_notice.search.clicked.connect(self.search) reg_file = QFile("E:\\Py workshop\\grdKeShe\\UI\\Register.ui") reg_file.open(QFile.ReadOnly) reg_file.close() self.ui_reg = QUiLoader().load(reg_file) self.ui_reg.submit.clicked.connect(self.userReg) self.ui_reg.passconf.editingFinished.connect(self.checkPass) self.ui_reg.passconf_tip.setScaledContents(True) def userLogin(self): username = self.ui.useraccount.text() self.username = username password = self.ui.password.text() msg = slots.UserLogin(username, password) self.ui.notice.setText(msg) sleep(2) self.ui.notice.setText("") if msg == 'ok': ifexist = os.path.exists(str(username)) if not ifexist: os.mkdir(str(username)) msg = slots.ReceiveMessage(self.username) for i in msg: mea = json.loads(i) print(mea) slots.StoreChat(username, mea['sender'], i) self.friendList = slots.GetStatus(self.username) print(self.friendList) for user in self.friendList: self.ui_main.listWidget.addItem(user[0]) self.ui_main.show() self.ui.close() def addFriend(self): self.ui_notice.show() self.ui_notice.exec_() def search(self): target = self.ui_notice.searchBox.text() msg = slots.AddFriend(self.username, target) self.ui_notice.resultNot.setText(msg) sleep(2) self.ui_notice.resultNot.setText("") def showReg(self): self.ui_reg.show() def userReg(self): msg = slots.UserReg(self.ui_reg.username.text(), self.ui_reg.password.text(), self.ui_reg.phone.text()) if msg['code'] == 0: self.ui_reg.notice.setText(msg['msg'] + ',your id is:' + str(msg['id'])) def checkPass(self): if self.ui_reg.password.text() != self.ui_reg.passconf.text(): self.ui_reg.submit.setEnabled(False) self.ui_reg.passconf_tip.setPixmap(QPixmap('E:\\Py workshop\\grdKeShe\\static\\warning.png')) else: self.ui_reg.submit.setEnabled(True) self.ui_reg.passconf_tip.setPixmap(QPixmap('E:\\Py workshop\\grdKeShe\\static\\ok.png')) def chat(self): item = self.ui_main.listWidget.currentItem() self.ui_main.othername.setText(item.text()) self.ui_main.chatview.clear() for i in self.friendList: if self.ui_main.othername.text() == i[0]: receive = i[1] msg = slots.loadChat(self.username, receive) for i in msg: j = json.loads(i) self.ui_main.chatview.addItem(item.text()+":"+j['message']+'['+j['time']+']') def sendmessage(self): receive = '' addr = '' message = self.ui_main.sendbox.toPlainText() for i in self.friendList: if self.ui_main.othername.text() == i[0]: receive = i[1] addr = i[2] code, me = slots.SendMessage(self.username, receive, addr, message) if code == 0: self.ui_main.chatview.addItem( '我:' + message + '[' + time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + ']') slots.StoreChat(self.username, receive, me) self.ui_main.sendbox.clear() else: self.ui_main.chatview.addItem('发送失败' + me) def logout(self): slots.Logout(self.username) exit() def stop(self): exit()
class Stats: def __init__(self): #加载designer设计的ui文件 super().__init__() self.ui = QUiLoader().load('SYSui.ui') self.ui.setWindowFlags(Qt.FramelessWindowHint) #按钮槽 self.ui.btn_sign.clicked.connect(self.on_btn_sign_clicked) #1 self.ui.btn_back.clicked.connect(self.on_btn_back_clicked) #2 self.ui.btn_close.clicked.connect(self.on_btn_close_clicked) #3 self.ui.btn_maxsize.clicked.connect(self.on_btn_maxsize_clicked) #4 self.ui.btn_minisize.clicked.connect(self.on_btn_minisize_clicked) #5 self.ui.btn_open.clicked.connect(self.on_btn_open_clicked) #6 self.ui.btn_sure.clicked.connect(self.on_btn_sure_clicked) #7 def on_btn_sign_clicked(self): #1 self.ui.stackedWidget.setCurrentIndex(1) def on_btn_back_clicked(self): #2 self.ui.stackedWidget.setCurrentIndex(0) self.ui.Videoshow.setText("") QApplication.processEvents() global j j = 1 for i in range(0, 4): if i == 0: item = QTableWidgetItem() item.setText("") self.ui.tableWidget.setItem(j, 0, item) if i == 1: item = QTableWidgetItem() item.setText("") self.ui.tableWidget.setItem(j, 1, item) if i == 2: item = QTableWidgetItem() item.setText("") self.ui.tableWidget.setItem(j, 2, item) if i == 3: item = QTableWidgetItem() item.setText("") self.ui.tableWidget.setItem(j, 3, item) def on_btn_close_clicked(self): #3 sys.exit(app.exec_()) def on_btn_maxsize_clicked(self): #4 if (self.ui.isMaximized() == True): self.ui.setWindowState(Qt.WindowNoState) else: self.ui.setWindowState(Qt.WindowMaximized) def on_btn_minisize_clicked(self): #5 self.ui.setWindowState(Qt.WindowMinimized) def on_btn_open_clicked(self): #6 self.ui.Videoshow.setText("开始录音") QApplication.processEvents() name = wavbox.wavrec() self.ui.Videoshow.setText("语音识别:\n" + name) QApplication.processEvents() if name != None: name01 = VideoRecognition.videorec() self.ui.Videoshow.setText("语音识别:\n" + name + '\n' + "人脸识别:\n" + name01) global name03 global name02 name02 = name name03 = name01 dt = datetime.now() global s s = str(dt.year) + "." + str(dt.month) + "." + str(dt.day) + " " + str( dt.hour) + ":" + str(dt.minute) + ":" + str(dt.second) def on_btn_sure_clicked(self): #7 global j if name02 == name03 != "": recognition_result = [{ 'Name': name02, 'Recognition_status': 'Success' }] output.output().PushResult(recognition_result) for i in range(0, 4): if i == 0: item = QTableWidgetItem() item.setText(name02) self.ui.tableWidget.setItem(j, 0, item) if i == 1: item = QTableWidgetItem() item.setText("计算机科学与技术") self.ui.tableWidget.setItem(j, 1, item) if i == 2: item = QTableWidgetItem() item.setText("17级") self.ui.tableWidget.setItem(j, 2, item) if i == 3: item = QTableWidgetItem() item.setText(s) self.ui.tableWidget.setItem(j, 3, item) j = j + 1 self.ui.Videoshow.setText("") QApplication.processEvents() else: dialog = QDialog() label = QLabel('不是同一个人', dialog) label.move(50, 50) dialog.setWindowTitle('别想蒙混过关') dialog.setWindowModality(Qt.ApplicationModal) dialog.exec() # 显示对话框