From efd911edc81aa33855c1df7ce6df9a6931ad63d4 Mon Sep 17 00:00:00 2001 From: sunwen Date: Tue, 15 Jul 2025 11:43:47 +0800 Subject: [PATCH] Fix: Click clear button in pacs search dialog crash problem. --- src/src/PACS/Widget/importwidget.cpp | 31 +++++++++++++--------------- src/src/PACS/Widget/importwidget.h | 2 -- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/src/src/PACS/Widget/importwidget.cpp b/src/src/PACS/Widget/importwidget.cpp index 3dc93a4..3c0b48e 100644 --- a/src/src/PACS/Widget/importwidget.cpp +++ b/src/src/PACS/Widget/importwidget.cpp @@ -30,7 +30,6 @@ ImportWidget::ImportWidget(QWidget *parent) , m_pTitleBar(nullptr) , m_pStudyModel(nullptr) //, m_pStudySelectionModel(nullptr) - , m_pSeriesModel(nullptr) //, m_pSeriesSelectionModel(nullptr) , m_pPacsComboBox(nullptr) , m_pModalityComboBox(nullptr) @@ -548,8 +547,8 @@ void ImportWidget::updateStudyView() // m_pStudyModel->insertRow(iRowIdx, list); // ++iRowIdx; //} - m_pStudyResult->setModel(m_pStudyModel); - m_pStudyResult->setColumnHidden(14, true); +// m_pStudyResult->setModel(m_pStudyModel); +// m_pStudyResult->setColumnHidden(14, true); } @@ -630,7 +629,6 @@ void ImportWidget::executeCMove(const QModelIndex ¤t) if (!toIntFlag) imageCount = 0; std::string studyInstanceUID = m_pStudyModel->index(row, 6).data().toString().toStdString(); std::string studyID = m_pStudyModel->index(row, 5).data().toString().toStdString(); - //std::string seriesUID = m_pSeriesModel->index(row, 6).data().toString().toStdString(); std::string patientName = m_pStudyModel->index(row, 1).data().toString().toStdString(); std::string outDirectory = DicomViewerHelper::applicationPath().toStdString(); outDirectory += "/"; @@ -683,16 +681,16 @@ void ImportWidget::executeCGet(const QModelIndex ¤t) } } - std::string seriesNumber = m_pSeriesModel->index(row, 1).data().toString().toStdString(); - std::string studyInstanceUID = m_pSeriesModel->index(row, 4).data().toString().toStdString(); - std::string studyID = m_pSeriesModel->index(row, 5).data().toString().toStdString(); - std::string seriesUID = m_pSeriesModel->index(row, 6).data().toString().toStdString(); - std::string patientName = m_pSeriesModel->index(row, 7).data().toString().toStdString(); +// std::string seriesNumber = m_pSeriesModel->index(row, 1).data().toString().toStdString(); +// std::string studyInstanceUID = m_pSeriesModel->index(row, 4).data().toString().toStdString(); +// std::string studyID = m_pSeriesModel->index(row, 5).data().toString().toStdString(); +// std::string seriesUID = m_pSeriesModel->index(row, 6).data().toString().toStdString(); +// std::string patientName = m_pSeriesModel->index(row, 7).data().toString().toStdString(); std::string outDirectory = DicomViewerHelper::applicationPath().toStdString(); outDirectory += "/"; - outDirectory += studyInstanceUID; - outDirectory += "/"; - outDirectory += seriesUID; +// outDirectory += studyInstanceUID; +// outDirectory += "/"; +// outDirectory += seriesUID; bool mkRet = false; QDir d(QString::fromStdString(outDirectory)); @@ -716,9 +714,9 @@ void ImportWidget::executeCGet(const QModelIndex ¤t) mGetWorker->moveToThread(mGetWorkerThread); mGetWorkerThread->start(); - std::string seriesInstanceUID = m_pSeriesModel->index(row, 6).data().toString().toStdString(); - std::string dicomType = m_pSeriesModel->index(row, 2).data().toString().toStdString(); - QMetaObject::invokeMethod(mGetWorker, "moveBySeriesUID", Qt::QueuedConnection, Q_ARG(QString, QString::fromStdString(studyInstanceUID)), Q_ARG(QString, QString::fromStdString(seriesInstanceUID)), Q_ARG(QString, QString::fromStdString(dicomType))); +// std::string seriesInstanceUID = m_pSeriesModel->index(row, 6).data().toString().toStdString(); +// std::string dicomType = m_pSeriesModel->index(row, 2).data().toString().toStdString(); +// QMetaObject::invokeMethod(mGetWorker, "moveBySeriesUID", Qt::QueuedConnection, Q_ARG(QString, QString::fromStdString(studyInstanceUID)), Q_ARG(QString, QString::fromStdString(seriesInstanceUID)), Q_ARG(QString, QString::fromStdString(dicomType))); } @@ -752,8 +750,7 @@ void ImportWidget::moveStoreProgress(int, QString) void ImportWidget::clear() { - m_pStudyModel->clear(); - m_pSeriesModel->clear(); + m_pStudyModel->removeRows(0, m_pStudyModel->rowCount()); } void ImportWidget::configure() diff --git a/src/src/PACS/Widget/importwidget.h b/src/src/PACS/Widget/importwidget.h index 0e64c19..315b7ed 100644 --- a/src/src/PACS/Widget/importwidget.h +++ b/src/src/PACS/Widget/importwidget.h @@ -115,8 +115,6 @@ private: QStandardItemModel *m_pStudyModel; //QItemSelectionModel *m_pStudySelectionModel; QStringList m_lStudyHeaders; - - QStandardItemModel *m_pSeriesModel; //QItemSelectionModel *m_pSeriesSelectionModel; QStringList m_lSeriesHeaders;