diff --git a/src/src/UI/Window/QVTKOpenGLNativeWidget2.cpp b/src/src/UI/Window/QVTKOpenGLNativeWidget2.cpp new file mode 100644 index 0000000..f6774c8 --- /dev/null +++ b/src/src/UI/Window/QVTKOpenGLNativeWidget2.cpp @@ -0,0 +1,28 @@ +// +// Created by Krad on 2022/11/4. +// + +#include "QVTKOpenGLNativeWidget2.h" + +#include +QVTKOpenGLNativeWidget2::QVTKOpenGLNativeWidget2(QWidget *parent, Qt::WindowFlags f) :QVTKOpenGLNativeWidget(parent,f) { + +} + +QVTKOpenGLNativeWidget2::~QVTKOpenGLNativeWidget2() { + +} + +void QVTKOpenGLNativeWidget2::leaveEvent(QEvent *event) { + QWidget::leaveEvent(event); + if (RenderWindow){ + RenderWindow->Render(); + } +} + +void QVTKOpenGLNativeWidget2::enterEvent(QEvent *event) { + QWidget::enterEvent(event); + if (RenderWindow){ + RenderWindow->Render(); + } +} diff --git a/src/src/UI/Window/QVTKOpenGLNativeWidget2.h b/src/src/UI/Window/QVTKOpenGLNativeWidget2.h new file mode 100644 index 0000000..cdd5477 --- /dev/null +++ b/src/src/UI/Window/QVTKOpenGLNativeWidget2.h @@ -0,0 +1,22 @@ +// +// Created by Krad on 2022/11/4. +// + +#ifndef OMEGAV_QVTKOPENGLNATIVEWIDGET2_H +#define OMEGAV_QVTKOPENGLNATIVEWIDGET2_H + +#include + +class QVTKOpenGLNativeWidget2 :public QVTKOpenGLNativeWidget { + Q_OBJECT + typedef QOpenGLWidget Superclass; +public: + QVTKOpenGLNativeWidget2(QWidget* parent = Q_NULLPTR, Qt::WindowFlags f = Qt::WindowFlags()); + ~QVTKOpenGLNativeWidget2() override; +protected: + void leaveEvent(QEvent *event) override; + void enterEvent(QEvent *event) override; +}; + + +#endif //OMEGAV_QVTKOPENGLNATIVEWIDGET2_H diff --git a/src/src/UI/Window/VolumeRenderingWindow.cpp b/src/src/UI/Window/VolumeRenderingWindow.cpp index 7b5071f..1bb6356 100644 --- a/src/src/UI/Window/VolumeRenderingWindow.cpp +++ b/src/src/UI/Window/VolumeRenderingWindow.cpp @@ -6,10 +6,10 @@ #include #include -#include #include #include +#include "QVTKOpenGLNativeWidget2.h" #include "Common/SeriesImageSet.h" #include "Rendering/Viewer/VolumeRenderingViewer.h" #include "UI/Widget/ToolBar/VolumeRenderingToolBar.h" @@ -27,8 +27,7 @@ VolumeRenderingWindow::VolumeRenderingWindow(QWidget *parent , Qt::WindowFlags f layout->setSpacing(0); auto toolBar = new VolumeRenderingToolBar(this); layout->addWidget(toolBar); - auto widget = new QVTKOpenGLNativeWidget(this); - + auto widget = new QVTKOpenGLNativeWidget2(this); vtkNew renderer; mViewer->SetRenderWindow(mRenderWin); mViewer->SetRenderer(renderer);