# wglMakeCurrent failed in MakeCurrent after closed a window with two vtk widget.

**URL:** https://discourse.vtk.org/t/wglmakecurrent-failed-in-makecurrent-after-closed-a-window-with-two-vtk-widget/5899
**Category:** Support
**Created:** [June 1, 2021, 12:59pm UTC](https://discourse.vtk.org/t/wglmakecurrent-failed-in-makecurrent-after-closed-a-window-with-two-vtk-widget/5899 "2021-06-01T12:59:20Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![zhang-qiang-github](https://discourse.vtk.org/user_avatar/discourse.vtk.org/zhang-qiang-github/32/2519_2.png) [@zhang-qiang-github](https://discourse.vtk.org/u/zhang-qiang-github)
#### Post date: [June 3, 2021, 11:58am UTC](https://discourse.vtk.org/t/wglmakecurrent-failed-in-makecurrent-after-closed-a-window-with-two-vtk-widget/5899/2 "2021-06-03T11:58:58Z")

</div>

Finally, I find the solution: we need to manually close the vtk widget

```auto
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
import sys
from vtk.qt.QVTKRenderWindowInteractor import QVTKRenderWindowInteractor
import vtk

class vtkWin(QWidget):

    def __init__ (self):
        super(). __init__ ()

        layout = QVBoxLayout()
        self.setLayout(layout)
        self.vtkWidget = QVTKRenderWindowInteractor()
        layout.addWidget(self.vtkWidget)
        render = vtk.vtkRenderer()
        self.vtkWidget.GetRenderWindow().AddRenderer(render)

        cone_a=vtk.vtkConeSource()
        coneMapper = vtk.vtkPolyDataMapper()
        coneMapper.SetInputConnection(cone_a.GetOutputPort())
        coneActor = vtk.vtkActor()
        coneActor.SetMapper(coneMapper)
        render.AddActor(coneActor)
        self.vtkWidget.GetRenderWindow().Render()

    def closeEvent(self, QCloseEvent):
        super().closeEvent(QCloseEvent)
        self.vtkWidget.Finalize() ############################ important

class MainWindow(QWidget):

    def __init__ (self):
        super(). __init__ ()

        layout = QHBoxLayout()
        self.setLayout(layout)

        self.w1 = vtkWin()
        self.w2 = vtkWin()
        layout.addWidget(self.w1)
        layout.addWidget(self.w2)

    def closeEvent(self, QCloseEvent):
        super().closeEvent(QCloseEvent)
        self.w1.close()
        self.w2.close()

if __name__ == ' __main__':

    app = QApplication(sys.argv)
    w = MainWindow()
    w.show()
    app.exec_()

```

---

_[View the full topic](https://discourse.vtk.org/t/wglmakecurrent-failed-in-makecurrent-after-closed-a-window-with-two-vtk-widget/5899)._
