Esempio n. 1
0
    def on_actionopen(self):
        # 选择签到的班级,先通过函数获取到已经存在的班级
        list = self.getlist()
        # 返回值是一个元组,只需要第一个值,设置输入框的默认值是"class1"
        group, ret = QInputDialog.getText(
            self, "选择签到班级",
            "请选择如下班级进行签到:\n" + str(list['result']['group_id_list']),
            QLineEdit.Normal, "class1")

        # 启动摄像头
        self.cameravideo = camera()  # 创建摄像头这个类
        # 互斥信号量
        self.camera_status = True

        # 启动定时器,进行定时,每隔10ms进行一次获取摄像头数据进行显示
        # timeshow定时器用作显示画面
        self.timeshow = QTimer(self)
        self.timeshow.start(10)
        # 10ms后定时器启动,产生一个timeout信号,.connect()关联槽函数
        self.timeshow.timeout.connect(self.show_cameradata)

        # 启动检测线程,解决卡顿问题
        self.create_thread(group)
        # facedetecttime定时器设置检测画面获取
        # 当打开摄像头时,创建定时器500ms,用于获取检测的画面
        self.facedetecttime = QTimer(self)
        self.facedetecttime.start(500)
        self.facedetecttime.timeout.connect(self.get_cameradata)  # 关联检测人脸信息函数
        # 通过信号将画面传给线程,每500ms传一次信号,调用线程的get_base64函数,将画面传给线程
        self.detect_data_signal.connect(self.detectThread.get_base64)

        # 线程关联槽函数,从线程中获取到检测的结果,并关联槽函数get_cetectdata用于在界面上显示画面
        self.detectThread.transmit_data.connect(self.get_detectdata)
        # 线程里面人脸搜索返回的结果关联槽函数
        self.detectThread.search_data.connect(self.get_search_data)
Esempio n. 2
0
 def on_actionopen(self):
     #启动摄像头
     self.cameravideo = camera()
     #启动定时器,进行定时,每个多长时间进行一次获取摄像头数据进行显示
     self.timeshow = QTimer(self)
     self.timeshow.start(10)
     #10ms的定时器启动,每到10ms就会产生一个信号timeout,信号没有()
     self.timeshow.timeout.connect(self.show_cameradata)
Esempio n. 3
0
 def open_camera(self):
     # 创建摄像头对象,不能少
     self.cameravideo = camera()
     # 让摄像头自适应
     self.label.setScaledContents(True)
     # 用到定时器 0ms启动一次
     self.time = QTimer()
     self.time.timeout.connect(self.show_cameradata)
     self.time.start(50)
Esempio n. 4
0
 def open_camera(self):
     # 创建摄像头对象,不能少
     self.cameravideo = camera()
     # 让摄像头自适应
     self.label.setScaledContents(True)
     #用到定时器 0ms启动一次
     self.time = QTimer()
     self.time.timeout.connect(self.show_cameradata)
     self.time.start(50)
     #让按钮变成灰色
     #self.pushButton_6.setEnabled(False)
     #让抓拍按钮恢复使用
     self.pushButton.setEnabled(True)
     self.pushButton_6.setEnabled(False)
     self.status = True