English Български

Saving Window Size State

  1. class MainWindow : public QMainWindow
  2. {
  3.     Q_OBJECT
  4.  
  5. public:
  6.     MainWindow(QWidget *parent = 0) : QMainWindow(parent) {
  7.         QSettings settings;
  8.  
  9.         restoreGeometry(settings.value("mainWindowGeometry").toByteArray());
  10.  
  11.         // create docks, toolbars, etc...
  12.  
  13.         restoreState(settings.value("mainWindowState").toByteArray());
  14.     }
  15.  
  16.     void closeEvent(QCloseEvent *event) {
  17.         QSettings settings;
  18.         settings.setValue("mainWindowGeometry", saveGeometry());
  19.         settings.setValue("mainWindowState", saveState());
  20.     }
  21. };
  22.  
  23. int main(int argc, char *argv[])
  24. {
  25.     QApplication a(argc, argv);
  26.     QCoreApplication::setOrganizationDomain("OrgDomain");
  27.     QCoreApplication::setOrganizationName("OrgName");
  28.     QCoreApplication::setApplicationName("AppName");
  29.     QCoreApplication::setApplicationVersion("1.0.0");
  30.  
  31.     MainWindow w;
  32.     w.show();
  33.  
  34.     return a.exec();
  35. }

The above code will save and restore window position, size, toolbar visibility, toolbar docking area, dock states, locations and sizes. It saves using QSettings [doc.qt.nokia.com] which will store your settings in a platform correct way.

Categories: