QSettings 读写注册表

时间:2022-09-05 09:19:33

参考:QSettings读写注册表、配置文件

不分组

// 写注册表
void writeRegistry()
{
// 公司名称
QCoreApplication::setOrganizationName(QString("Digia"));
// App 名称
QCoreApplication::setApplicationName(QString("frainSuperApp"));

QSettings settings(QSettings::NativeFormat, QSettings::UserScope, QCoreApplication::organizationName(), QCoreApplication::applicationName());
// 写入键值对
settings.setValue("Name", "Qt Creator");
settings.setValue("Version", 5);
}

效果图

QSettings  读写注册表

// 读注册表
void readRegistry()
{
QCoreApplication::setOrganizationName(QString("Digia"));
QCoreApplication::setApplicationName(QString("frainSuperApp"));
QSettings settings(QSettings::NativeFormat, QSettings::UserScope, QCoreApplication::organizationName(), QCoreApplication::applicationName());

QString strName = settings.value("Name").toString();
int nVersion = settings.value("Version").toInt();
}

分组

void writeRegistry()
{
QCoreApplication::setOrganizationName(QString("Digia"));
QCoreApplication::setApplicationName(QString("frainSuperApp"));

QSettings settings(QSettings::NativeFormat, QSettings::UserScope, QCoreApplication::organizationName(), QCoreApplication::applicationName());

settings.beginGroup("Qt6.5");
settings.setValue("Name", "Qt Creator");
settings.setValue("Version", "6.5");
settings.endGroup();

settings.beginGroup("Qt6.6");
settings.setValue("Name", "Qt Creator");
settings.setValue("Version", "6.6");
settings.endGroup();
}

效果图

QSettings  读写注册表

void readRegistry()
{
QCoreApplication::setOrganizationName(QString("Digia"));
QCoreApplication::setApplicationName(QString("frainSuperApp"));
QSettings settings(QSettings::NativeFormat, QSettings::UserScope, QCoreApplication::organizationName(), QCoreApplication::applicationName());

settings.beginGroup("Qt6.5");
QString strName = settings.value("Name").toString();
QString nVersion = settings.value("Version").toString();
settings.endGroup();

settings.beginGroup("Qt6.6");
strName = settings.value("Name").toString();
nVersion = settings.value("Version").toString();
settings.endGroup();
}