From b68791ac6fb75f8aa23196981ddbf15c778db574 Mon Sep 17 00:00:00 2001 From: Krad Date: Thu, 3 Mar 2022 14:46:42 +0800 Subject: [PATCH] Reset layout when reload data. --- src/include/view/viewcontainerwidget.h | 2 ++ src/src/QDicomViewer.cpp | 3 ++- src/src/view/viewcontainerwidget.cpp | 15 ++++++++++++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/include/view/viewcontainerwidget.h b/src/include/view/viewcontainerwidget.h index 0d260a4..c9f48e6 100644 --- a/src/include/view/viewcontainerwidget.h +++ b/src/include/view/viewcontainerwidget.h @@ -31,6 +31,8 @@ public: void replaceViewWithSerie(const std::string& unique_info, DicomImageView* curV = nullptr); + void resetToOneView(); + //fusion void toggleViewWithFusion(); void removeCurrentViewWithFusion(); diff --git a/src/src/QDicomViewer.cpp b/src/src/QDicomViewer.cpp index b666e31..6a8bd62 100644 --- a/src/src/QDicomViewer.cpp +++ b/src/src/QDicomViewer.cpp @@ -1006,7 +1006,8 @@ void QDicomViewer::openAndDrawDICOM(const std::string& dicomName, SeriesOpenMode displayThumbnailBar(true); - + //必须首先重置成1个窗口的布局 + ui->viewContainer->resetToOneView(); DicomLoader *helper = DicomLoader::GetInstance(); helper->reset(); //load image and tag diff --git a/src/src/view/viewcontainerwidget.cpp b/src/src/view/viewcontainerwidget.cpp index c9676f9..a90295f 100644 --- a/src/src/view/viewcontainerwidget.cpp +++ b/src/src/view/viewcontainerwidget.cpp @@ -396,6 +396,18 @@ void ViewContainerWidget::Slot_ThumbnailClickEvent(thumbnailImage* tb) setCurrentView(view); } +void ViewContainerWidget::resetToOneView() { + Slot_SetViewLayout(1,1); + for (int i = 1; i < view_list_.size(); ++i) { + delete view_list_[i]; + } + DicomImageView* v = view_list_[0]; + view_list_.clear(); + view_list_.push_back(v); + + setCurrentView(v); +} + void ViewContainerWidget::replaceViewWithSerie(const std::string& uniqueid, DicomImageView* curV) { if (!curV) @@ -471,4 +483,5 @@ bool ViewContainerWidget::checkFusionStatus(DicomImageView *base, DicomImageView return true; } return false; -} \ No newline at end of file +} +