# -*- coding: utf-8 -*- from PySide2 import QtWidgets,QtOpenGL class MainWindow(QtWidgets.QMainWindow): def __init__(self): QtWidgets.QMainWindow.__init__(self) QtWidgets.qApp.lastWindowClosed.connect(self.lastWindowClosed) self.openGlWidget = QtOpenGL.QGLWidget(self) # +1 self.dock = QtWidgets.QDockWidget(self) # +1 si y'a un QGLWidget quelque part ! self.dock.setWidget(self.openGlWidget) # +2 self.i = 0 def lastWindowClosed(self): self.i +=1 print(self.i) #QtWidgets.qApp.lastWindowClosed.disconnect(self.lastWindowClosed) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) widget = MainWindow() widget.show() app.exec_()