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) {
mTitleBar->SetHighlight(yes);
}
@@ -282,8 +295,16 @@ void DicomImageView::mousePressEvent(QMouseEvent *event) {
}
void DicomImageView::resizeEvent(QResizeEvent *event) {
//auto size conner info
if (!mImageViewer) return;
if (!mImageViewer) {
QWidget::resizeEvent(event);
if(mfirstShowFlag){
initImageViewerFirstTime();
mfirstShowFlag= false;
}
return;
}
// force update ReferenceLine data
mImageViewer->modifiedReferenceLine();
@@ -295,7 +316,7 @@ void DicomImageView::resizeEvent(QResizeEvent *event) {
VCRHelper::getVCRYOffset();
mVcrToolbar->move(ax, ay);
}
QWidget::resizeEvent(event);
}
// DND support-----------------------------------------------------------------

View File

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