#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::updateIdentifyTips(QString tips) { ui->labelIdenTips->setText(tips); } 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); ProMemory::getInstance().appState = AppConstants::ApplicationState::STATE_WORKING; ui->labelIdenTips->setText(""); CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_NOT_START; ui->wgtIdentifying->setCurrentIndex(0); }); } void IdentifyForm::showRecognizeResult(QString personId) { // SpeakerUtil::getInstance().speak(QString("识别成功,项目部王珏%1").arg(personId)); 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); QTimer::singleShot(SettingConfig::getInstance().SUCCESS_TIPS_LAST, [=](){ ProMemory::getInstance().irisCam->startCapture(); ProMemory::getInstance().irisRecogPro->setWorking(true); ProMemory::getInstance().appState = AppConstants::ApplicationState::STATE_WORKING; ui->labelIdenTips->setText(""); CasicIrisRecState::getInstance().state = CasicIrisRecState::IrisRecStateName::REC_NOT_START; ui->wgtIdentifying->setCurrentIndex(0); }); }