该问题针对QT中有两个及以上数量的QVTKWidget。
出现的问题描述:当我点击右上角的关闭按钮时,vtk提示框会出现“wglMakeCurrent failed in MakeCurrent(), error: 句柄无效”这个error。
查阅VTK相关论坛(wglMakeCurrent failed in MakeCurrent after closed a window with two vtk widget. - Support - VTK)找到了解决方案-->手动关闭vtk控件即可。
-- 头文件 --
#include <QCloseEvent>
...
class ShowDicoms : public QMainWindow
{
Q_OBJECT
public:
ShowDicoms(QWidget *parent = nullptr);
~ShowDicoms();
// 手动关闭qvtkWidget控件,以解决“wglMakeCurrent failed in MakeCurrent(), error: 句柄无效。”问题
void closeEvent(QCloseEvent* event);
private:
Ui::ShowDicomsClass ui;
};
--------------------------------------------------------------------------------------------------------------------------------
-- .cpp --
...
void ShowDicoms::closeEvent(QCloseEvent* event)
{
delete ui.qvtkWidget;
delete ui.qvtkWidget_2;
delete ui.qvtkWidget_3;
event->accept();
}