From 887a3a3e0da7946c011b66908d485abefe8fad6e Mon Sep 17 00:00:00 2001 From: liuminghang Date: Wed, 7 Jul 2021 14:12:26 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Docr=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E5=B4=A9=E6=BA=83=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Description: 修复ocr程序崩溃问题,添加退出标志 Log: 与程序崩溃有关 Change-Id: I0388af1ad4b5555263beaac0584325e468bbb611 --- src/mainwidget.cpp | 7 ++++++- src/mainwidget.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mainwidget.cpp b/src/mainwidget.cpp index 18683df..b8caabf 100644 --- a/src/mainwidget.cpp +++ b/src/mainwidget.cpp @@ -39,6 +39,8 @@ MainWidget::MainWidget(QWidget *parent) : MainWidget::~MainWidget() { + //程序即将结束,线程标志结束 + m_isEndThread = 0; // m_mainGridLayout->addLayout(m_buttonHorizontalLayout, 1, 0, 1, 1); if (m_mainGridLayout && m_buttonHorizontalLayout) { m_mainGridLayout->removeItem(m_buttonHorizontalLayout); @@ -384,7 +386,10 @@ void MainWidget::openImage(const QImage &img, const QString &name) m_loadImagethread = QThread::create([ = ]() { QMutexLocker locker(&m_mutex); m_result = TessOcrUtils::instance()->getRecogitionResult(m_currentImg, ResultType::RESULT_STRING); - emit sigResult(m_result.result); + //判断程序是否退出 + if (1 == m_isEndThread) { + emit sigResult(m_result.result); + } }); } connect(m_loadImagethread, &QThread::finished, m_loadImagethread, &QObject::deleteLater); diff --git a/src/mainwidget.h b/src/mainwidget.h index 65acaf4..faa4a9d 100644 --- a/src/mainwidget.h +++ b/src/mainwidget.h @@ -102,6 +102,7 @@ private: QShortcut *m_scAddView = nullptr; QShortcut *m_scReduceView = nullptr; + int m_isEndThread = 1; signals: void sigResult(const QString &);