class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0) : QMainWindow(parent) { QMdiArea *mdi = new QMdiArea(this); mdi->setViewMode(QMdiArea::TabbedView); setCentralWidget(mdi); QTextEdit* edit_1 = new QTextEdit(this); edit_1->setWindowTitle("edit_1"); QMdiSubWindow* window1 = mdi->addSubWindow(edit_1); edit_1->show(); QTextEdit* edit_2 = new QTextEdit(this); edit_2->setWindowTitle("edit_2"); QMdiSubWindow* window2 = mdi->addSubWindow(edit_2); edit_2->show(); //now window2 is activeted //mdi->removeSubWindow(window1); // works fine mdi->removeSubWindow(window2); } };