Пример #1
0
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'))
Пример #2
0
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()
Пример #3
0
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()  # 显示对话框