def P_tab_check_btn_click(self, row): # 判断文字 if self.P_table_widget_list[row]["check_btn"].text() == "修改": self.P_table_widget_list[row]["check_btn"].setText("保存") self.P_tab_set_enabled_true(row) else: self.P_table_widget_list[row]["check_btn"].setText("稍等") #取出值 class_id = getKeyByValue( self.channelDict["personClass"], self.P_table_widget_list[row] ["person_clz_combox"].currentText()) dorm = getKeyByValue( self.channelDict["addr_dorm"], self.P_table_widget_list[row] ["person_dorm_combox"].currentText()) grade = getKeyByValue( self.channelDict["addr_class"], self.P_table_widget_list[row] ["person_class_combox"].currentText()) # 更新表 # 判断图像是否更新 if self.P_table_widget_list[row]["imageChange"]: # 如果全部更新 # 取出编码 enc = self.P_table_widget_list[row]["imageEncode"] # 存入照片 path = self.P_table_widget_list[row]["imagePath"] person = Person( enc, self.P_table_widget_list[row] ["person_name_lineEdit"].text(), class_id, path) person.id = int( self.P_table_widget_list[row]["person_id_lineEdit"].text()) self.PDI.updatePerson(person, int(dorm), int(grade)) # 清空数据 self.P_table_widget_list[row]["imageEncode"] = None self.P_table_widget_list[row]["imagePath"] = "" self.P_table_widget_list[row]["imageChange"] = False # 更新图片 person_img = QImage(path) size = QSize(20, 20) self.P_table_widget_list[row]["imageLabel"].setPixmap( QPixmap.fromImage(person_img.scaled(size))) # 实时更新人脸库 self.channelDict["DataGetThreadContent"].append( "updateFaceLib") self.channelDict["DataGetThreadEvent"].set() else: # 更新数据 person = Person( None, self.P_table_widget_list[row] ["person_name_lineEdit"].text(), class_id, None) person.id = int( self.P_table_widget_list[row]["person_id_lineEdit"].text()) self.PDI.updatePerson(person, int(dorm), int(grade)) self.P_table_widget_list[row]["check_btn"].setText("修改") self.P_tab_set_enabled_false(row)