#ifdef _MSC_VER #pragma execution_character_set("utf-8") // Qt VS 中文兼容(UTF-8) #endif #include "IdentifyForm.h" #include "ui_IdentifyForm.h" IdentifyForm::IdentifyForm(QWidget *parent) : QWidget(parent) , ui(new Ui::IdentifyForm) { ui->setupUi(this); ui->wgtIdentifying->setCurrentIndex(0); ui->labelIdenTips->setText("识 别 中"); ui->labelFailTips->setText("识 别 失 败\n请 重 试"); } IdentifyForm::~IdentifyForm() { delete ui; } void IdentifyForm::drawIrisImageOnFrame(QImage image) { // 只在识别界面才显示画面 if (ui->wgtIdentifying->currentIndex() == 0) { ui->labelVideo->setPixmap(QPixmap::fromImage(image)); } } void IdentifyForm::showRecogFailure() { SpeakerUtil::getInstance().speak("识别失败,请重试"); ui->wgtIdentifying->setCurrentIndex(2); ProMemory::getInstance().clearIrisQueue(); ProMemory::getInstance().irisRecogPro->setWorking(false); ProMemory::getInstance().irisCam->stopCapture(); QTimer::singleShot(SettingConfig::getInstance().FAILURE_TIPS_LAST, [=](){ ProMemory::getInstance().irisCam->startCapture(); ProMemory::getInstance().irisRecogPro->setWorking(true); ui->wgtIdentifying->setCurrentIndex(0); }); } void IdentifyForm::showRecognizeResult(QString personId) { SpeakerUtil::getInstance().speak("识别成功,项目部王珏"); ui->wgtIdentifying->setCurrentIndex(1); // 查询并显示人员信息 // SysPersonDao personDao; // QVariantMap personInfo = personDao.findRecordById(personId); // ui->labNameText->setText(""); // ui->labNameText->setText(personInfo.value("name").toString()); // ui->labGenderText->setText(""); // ui->labGenderText->setText(CacheManager::getInstance().getGenderName().value(personInfo.value("gender").toString()).toString()); // ui->labDeptText->setText(""); // ui->labDeptText->setText(personInfo.value("deptname").toString()); // ui->labTimeText->setText(""); // ui->labTimeText->setText(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")); ui->labelName->setText("王珏"); ui->labelGender->setText("男"); ui->labelDept->setText("项目部"); ui->labelTs->setText(QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm")); QPixmap p; p.load(":/images/photo.png"); float rp = p.width() * 1.0 / p.height() * 1.0; float rl = ui->labelPhoto->width() * 1.0 / ui->labelPhoto->height() * 1.0; if (rp <= rl) { p = p.scaledToHeight(ui->labelPhoto->height()); } else { p = p.scaledToWidth(ui->labelPhoto->width()); } ui->labelPhoto->setPixmap(p); // FaceDataImgDao faceImgDao; // QVariantMap photoImage = faceImgDao.findRecordByPersonId(personId); // if (photoImage.isEmpty() == false) // { // QString imageData = photoImage.find("face_image")->toString(); // QImage image; // image.loadFromData(QByteArray::fromBase64(imageData.toLatin1())); // image = image.scaledToHeight(280, Qt::SmoothTransformation); // ui->labPhoto->setPixmap(QPixmap::fromImage(image)); // } else { // ui->labPhoto->setPixmap(QPixmap(":/images/photoFace.png")); // } // ui->widgetSucc->raise(); // ui->widgetSucc->show(); QTimer::singleShot(SettingConfig::getInstance().SUCCESS_TIPS_LAST, [=](){ ProMemory::getInstance().irisCam->startCapture(); ProMemory::getInstance().irisRecogPro->setWorking(true); ui->wgtIdentifying->setCurrentIndex(0); }); }