Qt 6.x
The Qt SDK
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
qsettings.h
Go to the documentation of this file.
1// Copyright (C) 2020 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QSETTINGS_H
5#define QSETTINGS_H
6
7#include <QtCore/qobject.h>
8#include <QtCore/qvariant.h>
9#include <QtCore/qstring.h>
10#include <QtCore/qscopedpointer.h>
11
13
14#include <ctype.h>
15
17
18#ifdef Status // we seem to pick up a macro Status --> int somewhere
19#undef Status
20#endif
21
22class QIODevice;
24
25#ifndef QT_NO_QOBJECT
26class Q_CORE_EXPORT QSettings : public QObject
27#else
28class Q_CORE_EXPORT QSettings
29#endif
30{
31#ifndef QT_NO_QOBJECT
33#else
35#endif
36 Q_DECLARE_PRIVATE(QSettings)
37
38public:
39 enum Status {
42 FormatError
43 };
44#ifndef QT_NO_QOBJECT
45 Q_ENUM(Status)
46#endif
47
48 enum Format {
51
52#if defined(Q_OS_WIN) || defined(Q_QDOC)
53 Registry32Format,
54 Registry64Format,
55#endif
56
57#if defined(Q_OS_WASM)
58 // FIXME: add public API in next minor release.
59 // WebLocalStorageFormat (IniFormat + 1)
60 // WebIDBSFormat (IniFormat + 2)
61#endif
62
63 InvalidFormat = 16,
79 CustomFormat16
80 };
81#ifndef QT_NO_QOBJECT
83#endif
84
85 enum Scope {
87 SystemScope
88 };
89#ifndef QT_NO_QOBJECT
90 Q_ENUM(Scope)
91#endif
92
93#ifndef QT_NO_QOBJECT
94 explicit QSettings(const QString &organization,
95 const QString &application = QString(), QObject *parent = nullptr);
96 QSettings(Scope scope, const QString &organization,
97 const QString &application = QString(), QObject *parent = nullptr);
98 QSettings(Format format, Scope scope, const QString &organization,
99 const QString &application = QString(), QObject *parent = nullptr);
100 QSettings(const QString &fileName, Format format, QObject *parent = nullptr);
101 explicit QSettings(QObject *parent = nullptr);
102 explicit QSettings(Scope scope, QObject *parent = nullptr);
103#else
104 explicit QSettings(const QString &organization,
105 const QString &application = QString());
106 QSettings(Scope scope, const QString &organization,
107 const QString &application = QString());
108 QSettings(Format format, Scope scope, const QString &organization,
109 const QString &application = QString());
111 explicit QSettings(Scope scope = UserScope);
112#endif
113 ~QSettings();
114
115 void clear();
116 void sync();
117 Status status() const;
118 bool isAtomicSyncRequired() const;
119 void setAtomicSyncRequired(bool enable);
120
121#if QT_CORE_REMOVED_SINCE(6, 4)
122 void beginGroup(const QString &prefix);
123#endif
124 void beginGroup(QAnyStringView prefix);
125 void endGroup();
126 QString group() const;
127
128#if QT_CORE_REMOVED_SINCE(6, 4)
129 int beginReadArray(const QString &prefix);
130 void beginWriteArray(const QString &prefix, int size = -1);
131#endif
132 int beginReadArray(QAnyStringView prefix);
133 void beginWriteArray(QAnyStringView prefix, int size = -1);
134 void endArray();
135 void setArrayIndex(int i);
136
137 QStringList allKeys() const;
138 QStringList childKeys() const;
139 QStringList childGroups() const;
140 bool isWritable() const;
141
142#if QT_CORE_REMOVED_SINCE(6, 4)
143 void setValue(const QString &key, const QVariant &value);
144 QVariant value(const QString &key, const QVariant &defaultValue) const;
145 QVariant value(const QString &key) const;
146#endif
148 QVariant value(QAnyStringView key, const QVariant &defaultValue) const;
150
151#if QT_CORE_REMOVED_SINCE(6, 4)
152 void remove(const QString &key);
153 bool contains(const QString &key) const;
154#endif
156 bool contains(QAnyStringView key) const;
157
158 void setFallbacksEnabled(bool b);
159 bool fallbacksEnabled() const;
160
161 QString fileName() const;
162 Format format() const;
163 Scope scope() const;
165 QString applicationName() const;
166
167 static void setDefaultFormat(Format format);
168 static Format defaultFormat();
169 static void setPath(Format format, Scope scope, const QString &path);
170
172 typedef bool (*ReadFunc)(QIODevice &device, SettingsMap &map);
173 typedef bool (*WriteFunc)(QIODevice &device, const SettingsMap &map);
174
175 static Format registerFormat(const QString &extension, ReadFunc readFunc, WriteFunc writeFunc,
176 Qt::CaseSensitivity caseSensitivity = Qt::CaseSensitive);
177
178protected:
179#ifndef QT_NO_QOBJECT
180 bool event(QEvent *event) override;
181#endif
182
183private:
184 Q_DISABLE_COPY(QSettings)
185};
186
188
189#endif // QSETTINGS_H
IOBluetoothDevice * device
\inmodule QtCore
\inmodule QtCore
Definition qcoreevent.h:45
\inmodule QtCore \reentrant
Definition qiodevice.h:34
Definition qmap.h:186
\inmodule QtCore
Definition qobject.h:90
QScopedPointer< QObjectData > d_ptr
Definition qobject.h:338
\inmodule QtCore
\inmodule QtCore
Definition qsettings.h:30
static void setDefaultFormat(Format format)
QMap< QString, QVariant > SettingsMap
Typedef for QMap<QString, QVariant>.
Definition qsettings.h:171
static Format defaultFormat()
Format
This enum type specifies the storage format used by QSettings.
Definition qsettings.h:48
@ CustomFormat2
Definition qsettings.h:65
@ CustomFormat10
Definition qsettings.h:73
@ CustomFormat1
Definition qsettings.h:64
@ CustomFormat15
Definition qsettings.h:78
@ CustomFormat13
Definition qsettings.h:76
@ CustomFormat3
Definition qsettings.h:66
@ CustomFormat8
Definition qsettings.h:71
@ NativeFormat
Definition qsettings.h:49
@ CustomFormat7
Definition qsettings.h:70
@ CustomFormat5
Definition qsettings.h:68
@ CustomFormat9
Definition qsettings.h:72
@ CustomFormat11
Definition qsettings.h:74
@ CustomFormat12
Definition qsettings.h:75
@ CustomFormat14
Definition qsettings.h:77
@ CustomFormat4
Definition qsettings.h:67
@ CustomFormat6
Definition qsettings.h:69
Scope
This enum specifies whether settings are user-specific or shared by all users of the same system.
Definition qsettings.h:85
~QSettings()
Destroys the QSettings object.
void setAtomicSyncRequired(bool enable)
QString organizationName() const
int beginReadArray(QAnyStringView prefix)
Adds prefix to the current group and starts reading from an array.
QStringList childKeys() const
Returns a list of all top-level keys that can be read using the QSettings object.
static Format registerFormat(const QString &extension, ReadFunc readFunc, WriteFunc writeFunc, Qt::CaseSensitivity caseSensitivity=Qt::CaseSensitive)
QString applicationName() const
void sync()
Writes any unsaved changes to permanent storage, and reloads any settings that have been changed in t...
Status
The following status values are possible:
Definition qsettings.h:39
@ AccessError
Definition qsettings.h:41
Scope scope() const
bool isWritable() const
Returns true if settings can be written using this QSettings object; returns false otherwise.
static void setPath(Format format, Scope scope, const QString &path)
bool isAtomicSyncRequired() const
QStringList childGroups() const
Returns a list of all key top-level groups that contain keys that can be read using the QSettings obj...
void setArrayIndex(int i)
Sets the current array index to i.
Status status() const
Returns a status code indicating the first error that was met by QSettings, or QSettings::NoError if ...
bool fallbacksEnabled() const
Returns true if fallbacks are enabled; returns false otherwise.
void setFallbacksEnabled(bool b)
Sets whether fallbacks are enabled to b.
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:127
\inmodule QtCore
Definition qvariant.h:64
Format
Definition ddsheader.h:14
void extension()
[6]
Definition dialogs.cpp:230
QMap< QString, QString > map
[6]
b clear()
Combined button and popup list for selecting options.
CaseSensitivity
@ CaseSensitive
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
static bool contains(const QJsonArray &haystack, unsigned needle)
Definition qopengl.cpp:116
GLboolean GLboolean GLboolean b
GLuint64 key
GLenum GLuint GLintptr GLsizeiptr size
[1]
GLboolean GLuint group
GLboolean enable
GLint GLsizei GLsizei GLenum format
struct _cl_event * event
GLsizei const GLchar *const * path
static void allKeys(HKEY parentHandle, const QString &rSubKey, NameSet *result, REGSAM access=0)
@ NoError
Definition main.cpp:34
#define QT_REQUIRE_CONFIG(feature)
#define Q_ENUM(x)
#define Q_OBJECT
settings beginWriteArray("logins")
settings beginGroup("mainwindow")
[12]
QSettings settings("MySoft", "Star Runner")
[0]
settings endGroup()
settings setValue("DataPump/bgcolor", color)
settings endArray()
settings remove("monkey")
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent