fix: fix a screen blurred bug after main window resize

This commit is contained in:
kradchen
2025-05-12 10:07:36 +08:00
parent 2a174c4f44
commit d19d064c18
2 changed files with 27 additions and 2 deletions

View File

@@ -107,6 +107,19 @@ void DicomImageView::initImageViewer() {
} }
} }
void DicomImageView::initImageViewerFirstTime()
{
if (!mImageViewer) {
mImageViewer = DICOMImageViewer::New();
mImageViewer->SetViewID(this->mViewID);
mImageViewer->SetRenderWindow(mGLRenWin);
mImageViewer->SetupInteractor(mGLRenWin->GetInteractor());
mGLRenWin->GetInteractor()->RemoveAllObservers();
mImageViewer->Delete();
mImageViewer = nullptr;
}
}
void DicomImageView::setHighlight(bool yes) { void DicomImageView::setHighlight(bool yes) {
mTitleBar->SetHighlight(yes); mTitleBar->SetHighlight(yes);
} }
@@ -282,8 +295,16 @@ void DicomImageView::mousePressEvent(QMouseEvent *event) {
} }
void DicomImageView::resizeEvent(QResizeEvent *event) { void DicomImageView::resizeEvent(QResizeEvent *event) {
//auto size conner info //auto size conner info
if (!mImageViewer) return; if (!mImageViewer) {
QWidget::resizeEvent(event);
if(mfirstShowFlag){
initImageViewerFirstTime();
mfirstShowFlag= false;
}
return;
}
// force update ReferenceLine data // force update ReferenceLine data
mImageViewer->modifiedReferenceLine(); mImageViewer->modifiedReferenceLine();
@@ -295,7 +316,7 @@ void DicomImageView::resizeEvent(QResizeEvent *event) {
VCRHelper::getVCRYOffset(); VCRHelper::getVCRYOffset();
mVcrToolbar->move(ax, ay); mVcrToolbar->move(ax, ay);
} }
QWidget::resizeEvent(event);
} }
// DND support----------------------------------------------------------------- // DND support-----------------------------------------------------------------

View File

@@ -344,9 +344,13 @@ private:
bool mIsOverlay; bool mIsOverlay;
bool mIsSlotInited; bool mIsSlotInited;
bool mIsFirstRenderAfterLoad; bool mIsFirstRenderAfterLoad;
bool mfirstShowFlag = true;
uint mViewID; uint mViewID;
void initImageViewer(); void initImageViewer();
void initImageViewerFirstTime();
}; };
#endif #endif