fix: fix a screen blurred bug after main window resize
This commit is contained in:
@@ -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-----------------------------------------------------------------
|
||||
|
||||
@@ -344,9 +344,13 @@ private:
|
||||
bool mIsOverlay;
|
||||
bool mIsSlotInited;
|
||||
bool mIsFirstRenderAfterLoad;
|
||||
bool mfirstShowFlag = true;
|
||||
|
||||
uint mViewID;
|
||||
|
||||
void initImageViewer();
|
||||
void initImageViewerFirstTime();
|
||||
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user