#include #include class TestGraphicsPane : public QOpenGLWidget, public QOpenGLFunctions_3_0 { Q_OBJECT public: TestGraphicsPane(QWidget *parent=NULL) : QOpenGLWidget(parent) { } void initializeGL() { initializeOpenGLFunctions(); } }; TestGraphicsPane *graphics; void MainWindow::on_Button1_clicked() { graphics = new TestGraphicsPane(); TopFrame->layout()->addWidget(graphics); } void MainWindow::on_Button2_clicked() { //Invoking this function causes crash. graphics->setParent(0); delete graphics; }