Fix: Click clear button in pacs search dialog crash problem.

This commit is contained in:
sunwen
2025-07-15 11:43:47 +08:00
parent 01effd4ec1
commit efd911edc8
2 changed files with 14 additions and 19 deletions

View File

@@ -30,7 +30,6 @@ ImportWidget::ImportWidget(QWidget *parent)
, m_pTitleBar(nullptr) , m_pTitleBar(nullptr)
, m_pStudyModel(nullptr) , m_pStudyModel(nullptr)
//, m_pStudySelectionModel(nullptr) //, m_pStudySelectionModel(nullptr)
, m_pSeriesModel(nullptr)
//, m_pSeriesSelectionModel(nullptr) //, m_pSeriesSelectionModel(nullptr)
, m_pPacsComboBox(nullptr) , m_pPacsComboBox(nullptr)
, m_pModalityComboBox(nullptr) , m_pModalityComboBox(nullptr)
@@ -548,8 +547,8 @@ void ImportWidget::updateStudyView()
// m_pStudyModel->insertRow(iRowIdx, list); // m_pStudyModel->insertRow(iRowIdx, list);
// ++iRowIdx; // ++iRowIdx;
//} //}
m_pStudyResult->setModel(m_pStudyModel); // m_pStudyResult->setModel(m_pStudyModel);
m_pStudyResult->setColumnHidden(14, true); // m_pStudyResult->setColumnHidden(14, true);
} }
@@ -630,7 +629,6 @@ void ImportWidget::executeCMove(const QModelIndex &current)
if (!toIntFlag) imageCount = 0; if (!toIntFlag) imageCount = 0;
std::string studyInstanceUID = m_pStudyModel->index(row, 6).data().toString().toStdString(); std::string studyInstanceUID = m_pStudyModel->index(row, 6).data().toString().toStdString();
std::string studyID = m_pStudyModel->index(row, 5).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 patientName = m_pStudyModel->index(row, 1).data().toString().toStdString();
std::string outDirectory = DicomViewerHelper::applicationPath().toStdString(); std::string outDirectory = DicomViewerHelper::applicationPath().toStdString();
outDirectory += "/"; outDirectory += "/";
@@ -683,16 +681,16 @@ void ImportWidget::executeCGet(const QModelIndex &current)
} }
} }
std::string seriesNumber = m_pSeriesModel->index(row, 1).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 studyInstanceUID = m_pSeriesModel->index(row, 4).data().toString().toStdString();
std::string studyID = m_pSeriesModel->index(row, 5).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 seriesUID = m_pSeriesModel->index(row, 6).data().toString().toStdString();
std::string patientName = m_pSeriesModel->index(row, 7).data().toString().toStdString(); // std::string patientName = m_pSeriesModel->index(row, 7).data().toString().toStdString();
std::string outDirectory = DicomViewerHelper::applicationPath().toStdString(); std::string outDirectory = DicomViewerHelper::applicationPath().toStdString();
outDirectory += "/"; outDirectory += "/";
outDirectory += studyInstanceUID; // outDirectory += studyInstanceUID;
outDirectory += "/"; // outDirectory += "/";
outDirectory += seriesUID; // outDirectory += seriesUID;
bool mkRet = false; bool mkRet = false;
QDir d(QString::fromStdString(outDirectory)); QDir d(QString::fromStdString(outDirectory));
@@ -716,9 +714,9 @@ void ImportWidget::executeCGet(const QModelIndex &current)
mGetWorker->moveToThread(mGetWorkerThread); mGetWorker->moveToThread(mGetWorkerThread);
mGetWorkerThread->start(); mGetWorkerThread->start();
std::string seriesInstanceUID = m_pSeriesModel->index(row, 6).data().toString().toStdString(); // std::string seriesInstanceUID = m_pSeriesModel->index(row, 6).data().toString().toStdString();
std::string dicomType = m_pSeriesModel->index(row, 2).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))); // 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() void ImportWidget::clear()
{ {
m_pStudyModel->clear(); m_pStudyModel->removeRows(0, m_pStudyModel->rowCount());
m_pSeriesModel->clear();
} }
void ImportWidget::configure() void ImportWidget::configure()

View File

@@ -115,8 +115,6 @@ private:
QStandardItemModel *m_pStudyModel; QStandardItemModel *m_pStudyModel;
//QItemSelectionModel *m_pStudySelectionModel; //QItemSelectionModel *m_pStudySelectionModel;
QStringList m_lStudyHeaders; QStringList m_lStudyHeaders;
QStandardItemModel *m_pSeriesModel;
//QItemSelectionModel *m_pSeriesSelectionModel; //QItemSelectionModel *m_pSeriesSelectionModel;
QStringList m_lSeriesHeaders; QStringList m_lSeriesHeaders;