Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
src_corelib_io_qsettings.cpp
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
3
4#include <QSettings>
5#include <QVariant>
6#include <QColor>
7#include <QIODevice>
8#include <QCoreApplication>
9#include <QWindow>
10#include <QPoint>
11
13{
14
15 {
16 //! [0]
17 QSettings settings("MySoft", "Star Runner");
18 QColor color = settings.value("DataPump/bgcolor").value<QColor>();
19 //! [0]
20 }
21
22 {
23 //! [1]
24 QSettings settings("MySoft", "Star Runner");
25 QColor color = QColor(Qt::blue);
26 settings.setValue("DataPump/bgcolor", color);
27 //! [1]
28 }
29
30 {
31 //! [2]
32 QSettings settings("/home/petra/misc/myapp.ini",
33 QSettings::IniFormat);
34 //! [2]
35 }
36
37 {
38 //! [3]
39 QSettings settings("/Users/petra/misc/myapp.plist",
40 QSettings::NativeFormat);
41 //! [3]
42 }
43
44 {
45 //! [4]
46 QSettings settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Office",
47 QSettings::NativeFormat);
48 //! [4]
49
50
51 //! [5]
52 settings.setValue("11.0/Outlook/Security/DontTrustInstalledFiles", 0);
53 //! [5]
54
55 //! [6]
56 settings.setValue("HKEY_CURRENT_USER\\MySoft\\Star Runner\\Galaxy", "Milkyway");
57 settings.setValue("HKEY_CURRENT_USER\\MySoft\\Star Runner\\Galaxy\\Sun", "OurStar");
58 settings.value("HKEY_CURRENT_USER\\MySoft\\Star Runner\\Galaxy\\Default"); // returns "Milkyway"
59 //! [6]
60 }
61
62 {
63 //! [7]
64 #ifdef Q_OS_DARWIN
65 QSettings settings("grenoullelogique.fr", "Squash");
66 #else
67 QSettings settings("Grenoulle Logique", "Squash");
68 #endif
69 //! [7]
70 }
71
72#ifdef INI_FILE
73 {
74 //! [8]
75 pos = @QPoint(100 100)
76 //! [8]
77 }
78
79 {
80 //! [9]
81 windir = C:\Windows
82 //! [9]
83 }
84#endif // INI_FILE
85
86 {
87 //! [10]
88 QSettings settings("Moose Tech", "Facturo-Pro");
89 //! [10]
90 }
91
92 {
93 //! [11]
94 QSettings settings("Moose Soft", "Facturo-Pro");
95 //! [11]
96 }
97
98 {
99 //! [12]
100 QCoreApplication::setOrganizationName("Moose Soft");
101 QCoreApplication::setApplicationName("Facturo-Pro");
102 QSettings settings;
103 //! [12]
104
105 QWindow *win = nullptr;
106 QWindow *panel = nullptr;
107 //! [13]
108 settings.beginGroup("mainwindow");
109 settings.setValue("size", win->size());
110 settings.setValue("active", win->isActive());
111 settings.endGroup();
112
113 settings.beginGroup("outputpanel");
114 settings.setValue("visible", panel->isVisible());
115 settings.endGroup();
116 //! [13]
117
118
119 //! [14]
120 settings.beginGroup("alpha");
121 // settings.group() == "alpha"
122
123 settings.beginGroup("beta");
124 // settings.group() == "alpha/beta"
125
126 settings.endGroup();
127 // settings.group() == "alpha"
128
129 settings.endGroup();
130 // settings.group() == ""
131 //! [14]
132 }
133}
134
136{
137 //! [15]
143 //...
145 {
146 //...
147 QSettings settings;
148 int size = settings.beginReadArray("logins");
149 for (int i = 0; i < size; ++i) {
150 settings.setArrayIndex(i);
151 Login login;
152 login.userName = settings.value("userName").toString();
153 login.password = settings.value("password").toString();
154 logins.append(login);
155 }
156 settings.endArray();
157 //...
158 }
159 //! [15]
160}
161
162
163//! [16]
169//...
171{
172 //...
173 QSettings settings;
174 settings.beginWriteArray("logins");
175 for (qsizetype i = 0; i < logins.size(); ++i) {
176 settings.setArrayIndex(i);
177 settings.setValue("userName", logins.at(i).userName);
178 settings.setValue("password", logins.at(i).password);
179 }
180 settings.endArray();
181 //...
182}
183//! [16]
184
185
187{
188 {
189 //! [17]
190 QSettings settings;
191 settings.setValue("fridge/color", QColor(Qt::white));
192 settings.setValue("fridge/size", QSize(32, 96));
193 settings.setValue("sofa", true);
194 settings.setValue("tv", false);
195
196 QStringList keys = settings.allKeys();
197 // keys: ["fridge/color", "fridge/size", "sofa", "tv"]
198 //! [17]
199
200
201 //! [18]
202 settings.beginGroup("fridge");
203 keys = settings.allKeys();
204 // keys: ["color", "size"]
205 //! [18]
206 }
207
208 {
209 //! [19]
210 QSettings settings;
211 settings.setValue("fridge/color", QColor(Qt::white));
212 settings.setValue("fridge/size", QSize(32, 96));
213 settings.setValue("sofa", true);
214 settings.setValue("tv", false);
215
216 QStringList keys = settings.childKeys();
217 // keys: ["sofa", "tv"]
218 //! [19]
219
220
221 //! [20]
222 settings.beginGroup("fridge");
223 keys = settings.childKeys();
224 // keys: ["color", "size"]
225 //! [20]
226 }
227
228 {
229 //! [21]
230 QSettings settings;
231 settings.setValue("fridge/color", QColor(Qt::white));
232 settings.setValue("fridge/size", QSize(32, 96));
233 settings.setValue("sofa", true);
234 settings.setValue("tv", false);
235
236 QStringList groups = settings.childGroups();
237 // groups: ["fridge"]
238 //! [21]
239
240
241 //! [22]
242 settings.beginGroup("fridge");
243 groups = settings.childGroups();
244 // groups: []
245 //! [22]
246 }
247
248 {
249 //! [23]
250 QSettings settings;
251 settings.setValue("interval", 30);
252 settings.value("interval").toInt(); // returns 30
253
254 settings.setValue("interval", 6.55);
255 settings.value("interval").toDouble(); // returns 6.55
256 //! [23]
257 }
258
259 {
260 //! [24]
261 QSettings settings;
262 settings.setValue("ape", 0);
263 settings.setValue("monkey", 1);
264 settings.setValue("monkey/sea", 2);
265 settings.setValue("monkey/doe", 4);
266
267 settings.remove("monkey");
268 QStringList keys = settings.allKeys();
269 // keys: ["ape"]
270 //! [24]
271 }
272
273 {
274 //! [25]
275 QSettings settings;
276 settings.setValue("ape", 0);
277 settings.setValue("monkey", 1);
278 settings.setValue("monkey/sea", 2);
279 settings.setValue("monkey/doe", 4);
280
281 settings.beginGroup("monkey");
282 settings.remove("");
283 settings.endGroup();
284
285 QStringList keys = settings.allKeys();
286 // keys: ["ape"]
287 //! [25]
288 }
289
290 {
291 //! [26]
292 QSettings settings;
293 settings.setValue("animal/snake", 58);
294 settings.value("animal/snake", 1024).toInt(); // returns 58
295 settings.value("animal/zebra", 1024).toInt(); // returns 1024
296 settings.value("animal/zebra").toInt(); // returns 0
297 //! [26]
298 }
299}
300
301//! [27]
302bool myReadFunc(QIODevice &device, QSettings::SettingsMap &map);
303//! [27]
304
305
306//! [28]
307bool myWriteFunc(QIODevice &device, const QSettings::SettingsMap &map);
308//! [28]
309
310
311//! [29]
312bool readXmlFile(QIODevice &device, QSettings::SettingsMap &map);
313bool writeXmlFile(QIODevice &device, const QSettings::SettingsMap &map);
314
315int main(int argc, char *argv[])
316{
317 const QSettings::Format XmlFormat =
318 QSettings::registerFormat("xml", readXmlFile, writeXmlFile);
319
320 QSettings settings(XmlFormat, QSettings::UserScope, "MySoft",
321 "Star Runner");
322
323 //...
324}
325//! [29]
int main(int argc, char *argv[])
[ctor_close]
bool examples()
[3]
void wrapInFunction()
[16]
void some_function()
bool myReadFunc(QIODevice &device, QSettings::SettingsMap &map)
[27]
bool readXmlFile(QIODevice &device, QSettings::SettingsMap &map)
[28]
QList< Login > logins
bool myWriteFunc(QIODevice &device, const QSettings::SettingsMap &map)
[27]
bool writeXmlFile(QIODevice &device, const QSettings::SettingsMap &map)