#include #if QT_VERSION >= 0x50000 #include #endif class MainWindow : public QMainWindow { public: MainWindow() { setCentralWidget(new QTextEdit(this)); QDockWidget *dock1 = new QDockWidget(this); dock1->setObjectName("dock"); dock1->setWidget(new QLabel("Label 1", dock1)); addDockWidget(Qt::LeftDockWidgetArea, dock1); readSettings(); } void readSettings() { QSettings settings("SomeTest", "DockWidgetTest"); restoreGeometry(settings.value("geometry").toByteArray()); restoreState(settings.value("windowState").toByteArray()); } void writeSettings() { QSettings settings("SomeTest", "DockWidgetTest"); settings.setValue("geometry", saveGeometry()); settings.setValue("windowState", saveState()); } void closeEvent(QCloseEvent *event) { QMainWindow::closeEvent(event); writeSettings(); } }; int main(int argc, char *argv[]) { QApplication app(argc, argv); MainWindow window; window.show(); return app.exec(); }