QtBase  v6.3.1
src_corelib_io_qsettings.cpp
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (C) 2016 The Qt Company Ltd.
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of the documentation of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:BSD$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see https://www.qt.io/terms-conditions. For further
15 ** information use the contact form at https://www.qt.io/contact-us.
16 **
17 ** BSD License Usage
18 ** Alternatively, you may use this file under the terms of the BSD license
19 ** as follows:
20 **
21 ** "Redistribution and use in source and binary forms, with or without
22 ** modification, are permitted provided that the following conditions are
23 ** met:
24 ** * Redistributions of source code must retain the above copyright
25 ** notice, this list of conditions and the following disclaimer.
26 ** * Redistributions in binary form must reproduce the above copyright
27 ** notice, this list of conditions and the following disclaimer in
28 ** the documentation and/or other materials provided with the
29 ** distribution.
30 ** * Neither the name of The Qt Company Ltd nor the names of its
31 ** contributors may be used to endorse or promote products derived
32 ** from this software without specific prior written permission.
33 **
34 **
35 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
36 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
37 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
38 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
39 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
42 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
43 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
44 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
45 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
46 **
47 ** $QT_END_LICENSE$
48 **
49 ****************************************************************************/
50 
52 QSettings settings("MySoft", "Star Runner");
53 QColor color = settings.value("DataPump/bgcolor").value<QColor>();
55 
56 
58 QSettings settings("MySoft", "Star Runner");
59 QColor color = palette().background().color();
60 settings.setValue("DataPump/bgcolor", color);
62 
63 
65 QSettings settings("/home/petra/misc/myapp.ini",
68 
69 
71 QSettings settings("/Users/petra/misc/myapp.plist",
74 
75 
77 QSettings settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Office",
80 
81 
83 settings.setValue("11.0/Outlook/Security/DontTrustInstalledFiles", 0);
85 
86 
88 settings.setValue("HKEY_CURRENT_USER\\MySoft\\Star Runner\\Galaxy", "Milkyway");
89 settings.setValue("HKEY_CURRENT_USER\\MySoft\\Star Runner\\Galaxy\\Sun", "OurStar");
90 settings.value("HKEY_CURRENT_USER\\MySoft\\Star Runner\\Galaxy\\Default"); // returns "Milkyway"
92 
93 
95 #ifdef Q_OS_MAC
96  QSettings settings("grenoullelogique.fr", "Squash");
97 #else
98  QSettings settings("Grenoulle Logique", "Squash");
99 #endif
101 
102 
104 pos = @Point(100 100)
106 
107 
108 windir = C:\Windows
111 
112 
114 QSettings settings("Moose Tech", "Facturo-Pro");
116 
117 
119 QSettings settings("Moose Soft", "Facturo-Pro");
121 
122 
124 QCoreApplication::setOrganizationName("Moose Soft");
125 QCoreApplication::setApplicationName("Facturo-Pro");
128 
129 
131 settings.beginGroup("mainwindow");
133 settings.setValue("fullScreen", win->isFullScreen());
135 
136 settings.beginGroup("outputpanel");
140 
141 
144 // settings.group() == "alpha"
145 
147 // settings.group() == "alpha/beta"
148 
150 // settings.group() == "alpha"
151 
153 // settings.group() == ""
155 
156 
158 struct Login {
161 };
163 ...
164 
165 QSettings settings;
166 int size = settings.beginReadArray("logins");
167 for (int i = 0; i < size; ++i) {
169  Login login;
170  login.userName = settings.value("userName").toString();
171  login.password = settings.value("password").toString();
172  logins.append(login);
173 }
176 
177 
179 struct Login {
182 };
184 ...
185 
186 QSettings settings;
188 for (int i = 0; i < logins.size(); ++i) {
190  settings.setValue("userName", list.at(i).userName);
191  settings.setValue("password", list.at(i).password);
192 }
195 
196 
199 settings.setValue("fridge/color", QColor(Qt::white));
200 settings.setValue("fridge/size", QSize(32, 96));
201 settings.setValue("sofa", true);
202 settings.setValue("tv", false);
203 
205 // keys: ["fridge/color", "fridge/size", "sofa", "tv"]
207 
208 
211 keys = settings.allKeys();
212 // keys: ["color", "size"]
214 
215 
218 settings.setValue("fridge/color", QColor(Qt::white));
219 settings.setValue("fridge/size", QSize(32, 96));
220 settings.setValue("sofa", true);
221 settings.setValue("tv", false);
222 
224 // keys: ["sofa", "tv"]
226 
227 
229 settings.beginGroup("fridge");
231 // keys: ["color", "size"]
233 
234 
237 settings.setValue("fridge/color", QColor(Qt::white));
238 settings.setValue("fridge/size", QSize(32, 96));
239 settings.setValue("sofa", true);
240 settings.setValue("tv", false);
241 
243 // groups: ["fridge"]
245 
246 
248 settings.beginGroup("fridge");
250 // groups: []
252 
253 
256 settings.setValue("interval", 30);
257 settings.value("interval").toInt(); // returns 30
258 
259 settings.setValue("interval", 6.55);
260 settings.value("interval").toDouble(); // returns 6.55
262 
263 
267 settings.setValue("monkey", 1);
268 settings.setValue("monkey/sea", 2);
269 settings.setValue("monkey/doe", 4);
270 
271 settings.remove("monkey");
273 // keys: ["ape"]
275 
276 
279 settings.setValue("ape");
280 settings.setValue("monkey", 1);
281 settings.setValue("monkey/sea", 2);
282 settings.setValue("monkey/doe", 4);
283 
287 
289 // keys: ["ape"]
291 
292 
295 settings.setValue("animal/snake", 58);
296 settings.value("animal/snake", 1024).toInt(); // returns 58
297 settings.value("animal/zebra", 1024).toInt(); // returns 1024
298 settings.value("animal/zebra").toInt(); // returns 0
300 
301 
305 
306 
310 
311 
315 
316 int main(int argc, char *argv[])
317 {
318  const QSettings::Format XmlFormat =
320 
321  QSettings settings(XmlFormat, QSettings::UserScope, "MySoft",
322  "Star Runner");
323 
324  ...
325 }
small capitals from c petite p scientific i
[1]
Definition: afcover.h:80
The QColor class provides colors based on RGB, HSV or CMYK values.
Definition: qcolor.h:67
The QCoreApplication class provides an event loop for Qt applications without UI.
The QIODevice class is the base interface class of all I/O devices in Qt.
Definition: qiodevice.h:70
Definition: qlist.h:108
The QSettings class provides persistent platform-independent application settings.
Definition: qsettings.h:66
void endGroup()
Definition: qsettings.cpp:2906
void endArray()
Definition: qsettings.cpp:2999
@ NativeFormat
Definition: qsettings.h:85
@ IniFormat
Definition: qsettings.h:86
void setValue(const QString &key, const QVariant &value)
Definition: qsettings.cpp:3145
QVariant value(const QString &key, const QVariant &defaultValue) const
Definition: qsettings.cpp:3288
void remove(const QString &key)
Definition: qsettings.cpp:3179
QStringList childKeys() const
Definition: qsettings.cpp:3081
static Format registerFormat(const QString &extension, ReadFunc readFunc, WriteFunc writeFunc, Qt::CaseSensitivity caseSensitivity=Qt::CaseSensitive)
Definition: qsettings.cpp:3448
void beginGroup(const QString &prefix)
Definition: qsettings.cpp:2890
QStringList allKeys() const
Definition: qsettings.cpp:3057
int beginReadArray(const QString &prefix)
Definition: qsettings.cpp:2946
QStringList childGroups() const
Definition: qsettings.cpp:3105
void beginWriteArray(const QString &prefix, int size=-1)
Definition: qsettings.cpp:2982
void setArrayIndex(int i)
Definition: qsettings.cpp:3028
The QSize class defines the size of a two-dimensional object using integer point precision.
Definition: qsize.h:55
The QString class provides a Unicode character string.
Definition: qstring.h:388
The QStringList class provides a list of strings.
double toDouble(bool *ok=nullptr) const
Definition: qvariant.cpp:1929
int toInt(bool *ok=nullptr) const
Definition: qvariant.cpp:1833
QString toString() const
Definition: qvariant.cpp:1416
T value() const
Definition: qvariant.h:378
QMap< QString, QString > map
[6]
palette
@ white
Definition: qnamespace.h:62
GLsizei GLuint * groups
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLuint color
[2]
GLfloat GLfloat GLfloat alpha
Definition: qopenglext.h:418
QWidget * win
Definition: settings.cpp:53
QWidget * panel
Definition: settings.cpp:54
int main(int argc, char *argv[])
[1]
bool myReadFunc(QIODevice &device, QSettings::SettingsMap &map)
[26]
bool readXmlFile(QIODevice &device, QSettings::SettingsMap &map)
[28]
settings beginGroup("mainwindow")
[12]
QSettings settings("MySoft", "Star Runner")
[0]
QList< Login > logins
settings endGroup()
bool myWriteFunc(QIODevice &device, const QSettings::SettingsMap &map)
[27]
settings setValue("DataPump/bgcolor", color)
bool writeXmlFile(QIODevice &device, const QSettings::SettingsMap &map)
QStringList keys
edit isVisible()
QStringList list
[0]
Definition: main.cpp:253