diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-06-01 09:53:18 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2021-06-01 23:54:35 +0200 |
commit | c59fbf576d2995f1c4fb52c1b21cf7d29cdf1a50 (patch) | |
tree | 0495799aeef0c226c03af1469efe55fff1a51957 | |
parent | 253d97cce625a55eb900f60540da0cec13782828 (diff) |
Fix QSettings documentation
QMainWindow::saveGeometry()/restoreGeometry() should be used
to save and restore geometries instead of saving pos/size
since it also works in multiscreen settings.
Pick-to: 6.1
Change-Id: I27cc5ec13e69266367f035796e208d214f84b043
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
-rw-r--r-- | src/corelib/doc/snippets/settings/settings.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/corelib/doc/snippets/settings/settings.cpp b/src/corelib/doc/snippets/settings/settings.cpp index 49312b9cfc..a3491d8c76 100644 --- a/src/corelib/doc/snippets/settings/settings.cpp +++ b/src/corelib/doc/snippets/settings/settings.cpp @@ -152,8 +152,7 @@ void MainWindow::writeSettings() QSettings settings("Moose Soft", "Clipper"); settings.beginGroup("MainWindow"); - settings.setValue("size", size()); - settings.setValue("pos", pos()); + settings.setValue("geometry", saveGeometry()); settings.endGroup(); } //! [16] @@ -164,8 +163,11 @@ void MainWindow::readSettings() QSettings settings("Moose Soft", "Clipper"); settings.beginGroup("MainWindow"); - resize(settings.value("size", QSize(400, 400)).toSize()); - move(settings.value("pos", QPoint(200, 200)).toPoint()); + const auto geometry = settings.value("geometry", QByteArray()).toByteArray(); + if (geometry.isEmpty()) + setGeometry(200, 200, 400, 400); + else + restoreGeometry(geometry) settings.endGroup(); } //! [17] |