漆面检测-数据库连接通信逻辑
2026/7/30 16:42:57 网站建设 项目流程

连接方面

通信连接BTN

initCameraMonitorDbWriter()(以独立的连接名连接数据库)

信息处理方式是时间写入和批量写入

initCameraMonitorDbWriter(){

1.创建线程

2.写入配置

3.写入器分配至子线程

关联

4. connect(m_dbWriter, &CameraMonitorDbWriter::sigLog, this,[this](const QString& msg) {addLog(msg, LogLevel::Info);});日志分配

// - 线程启动 -> 写入器开始工作

//当调用 m_dbWriterThread->start(),m_dbWriter->start

//启动线程
connect(m_dbWriterThread, &QThread::started, m_dbWriter, &CameraMonitorDbWriter::start);

//关闭线程

// - 线程结束 -> 释放写入器(避免内存泄漏)

//当调用 m_dbWriterThread->finished(),m_dbWriter->deleteLater
connect(m_dbWriterThread, &QThread::finished, m_dbWriter, &QObject::deleteLater);

线程启动

}


拍照方面

void GigeCameraWorker::photo()
{
QMutexLocker lk(&m_lock);

if (!m_opened || !m_cam) {
emit sigGrabStat(m_slot, -1, false, (int)CamGrabMode::Manual);
return;
}

//计时
QElapsedTimer t;
t.start();

// 1) 触发拍照
m_nErrCode = m_cam->PhotoImage(m_szErrMsg);
if (m_nErrCode != 0) {
emit sigGrabStat(m_slot, (int)t.elapsed(), false, (int)CamGrabMode::Manual);
return;
}ShowGigeImage();

emit sigGrabStat(m_slot, (int)t.elapsed(), true, (int)CamGrabMode::Manual);//发射用时
}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询