当前位置: 首页> 汽车> 新车 > 上海仿站定制模板建站_四川网站开发哪家好_站长工具免费_疫情最新消息今天公布

上海仿站定制模板建站_四川网站开发哪家好_站长工具免费_疫情最新消息今天公布

时间:2025/7/10 12:15:08来源:https://blog.csdn.net/weixin_51795597/article/details/145535034 浏览次数: 0次
上海仿站定制模板建站_四川网站开发哪家好_站长工具免费_疫情最新消息今天公布

一、概述

QSettings类是Qt框架中的一个重要类,它主要用于存储和访问应用程序的设置和配置

二、QSettings的构造方式

1、基于组织名和程序名的构造方式(主要用于Windows注册表)

 1、explicit QSettings(const QString &organization,const QString &application = QString(), QObject *parent = nullptr);2、 QSettings(Scope scope, const QString &organization,const QString &application = QString(), QObject *parent = nullptr);//QSettings会在Windows注册表中读写指定组织名和程序名设置

2、基于文件名和构造的构造方式(用于读取、写入ini配置) 

 QSettings(const QString &fileName, Format format, QObject *parent = nullptr);//QSettings会读写指定文件名和格式的配置文件

3、无参的构造方式

explicit QSettings(QObject *parent = nullptr);

 三、QSettings的常用方法

1、setValue():用于设置配置项的值。可以存储各种类型的数据,如整数、字符串、布尔值等

     settings.setValue("string", "hello world");settings.setValue("int", 24);settings.setValue("double", 10.34);settings.setValue("bool", true);QStringList stringList;stringList << "Item1" << "Item2" << "Item3";settings.setValue("stringListKey", stringList);

2、value():用于读取配置项的值。如果配置项不存在,则返回指定的默认值

    QString loadedString = settings.value("stringKey").toString();int loadedInt = settings.value("intKey").toInt();double loadedDouble = settings.value("doubleKey").toDouble();bool loadedBool = settings.value("boolKey").toBool();QStringList loadedStringList = settings.value("stringListKey").toStringList();

3、beginGroup()和endGroup():用于开始和结束一个设置组。

settings.beginGroup("POLICY");
QString type1 = QString::fromUtf8(settings.value("type1").toString().toLatin1());
QString type2 = QString::fromUtf8(settings.value("type2").toString().toLatin1());
QString type3 = QString::fromUtf8(settings.value("type3").toString().toLatin1());
QString type4 = QString::fromUtf8(settings.value("type4").toString().toLatin1());
QString type5 = QString::fromUtf8(settings.value("type5").toString().toLatin1());
QString type6 = QString::fromUtf8(settings.value("type6").toString().toLatin1());
settings.endGroup();

4、sync():用于将内存中的设置同步到存储介质中

settings.setValue("Setting1", "Value1");
settings.sync();
// 强制立即写入

5、clear():用于清除所有配置项

settings.remove("ObsoleteSetting");
settings.clear();
// 删除所有设置

四、主要功能

1、存储设置:QSettings可以存储各种类型的数据,包括字符串、整数、布尔值等,这些数据通常用于保存应用程序的配置信息等。

QSettings settings(qcstr("ZH"), qcstr("APP"));m_appUniqueKey = QUuid::createUuid().toString(QUuid::Id128).toUtf8();settings.setValue(qcstr("AppUniqueKey"), QString::fromUtf8(m_appUniqueKey));

2、读取设置:QSettings能够方便地读取之前 存储的设置,使得应用程序可以在启动时恢复用户之前的状态或配置。

QString currentDir = QApplication::applicationDirPath();
QString systemPath = QString("%1/system.ini").arg(currentDir);
QSettings settings(systemPath,QSettings::IniFormat);
settings.setIniCodec(QTextCodec::codecForName("UTF-8"));

3、分组管理:QSettings支持使用组(group)来组织设置,这有助于更好地管理大量的配置信息。通过beginGroup()和endGroup()方法。

settings.beginGroup("POLICY");
QString type1 = QString::fromUtf8(settings.value("type1").toString().toLatin1());
QString type2 = QString::fromUtf8(settings.value("type2").toString().toLatin1());
QString type3 = QString::fromUtf8(settings.value("type3").toString().toLatin1());
QString type4 = QString::fromUtf8(settings.value("type4").toString().toLatin1());
QString type5 = QString::fromUtf8(settings.value("type5").toString().toLatin1());
QString type6 = QString::fromUtf8(settings.value("type6").toString().toLatin1());
settings.endGroup();

关键字:上海仿站定制模板建站_四川网站开发哪家好_站长工具免费_疫情最新消息今天公布

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: