Qt中QSettings的使用以及ini配置文件读写

        在应用程序开发过程中,用户对程序有一些需求,要求记住一些参数,比如窗口大小,比如配置的ip地址等。这些设置一般都是存在系统里面的,比如windows一般都写在系统注册表或者写INI文件中,那么按照一般的标准来说,许多应用程序是用INI文件来实现的。而Qsettings就是提供了一种方便的方法来存储和恢复应用程序的settings。

两个问题:

  1. 如何将setting写入到注册表中?
  2. 如何将setting写入到本地ini文件中?

问题1:

        在Qt中,设置ini文件并写入到注册表中,一般要先声明一些参数,比如公司名称,比如应用程序名称。如下代码,初始化设置:

#include "mainwindow.h"
#include <QSettings>
#include <QApplication>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    //配置参数
    QCoreApplication::setOrganizationName("QQQQQ");
    QCoreApplication::setOrganizationDomain("qqqqq.com");
    QCoreApplication::setApplicationName("WWWWW");
    QCoreApplication::setApplicationVersion("1.0.0");
    //写设置值
    QSettings setting;
    setting.setValue("ip","127.0.0.1");
    setting.setValue("port","3306");
    setting.setValue("name","cch");
    setting.setValue("password","cch");

    MainWindow w;
    w.show();
    return a.exec();
}

        运行后,可以在注册表中看到已设置的参数值,如下图:

         在程序中获取设置值时:

QSettings setting;
QString ip = setting.value("ip").toString();
QString port = setting.value("port").toString();
QString name = setting.value("name").toString();
QString password = setting.value("password").toString();

问题2:

        当不写配置文件到注册表中时,就不需要设置上面的参数了,如下代码:

#include "mainwindow.h"
#include <QSettings>
#include <QApplication>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    //配置参数
//    QCoreApplication::setOrganizationName("QQQQQ");
//    QCoreApplication::setOrganizationDomain("qqqqq.com");
//    QCoreApplication::setApplicationName("WWWWW");
//    QCoreApplication::setApplicationVersion("1.0.0");
    //写设置值
    QSettings *setting = new QSettings("QWSet.ini", QSettings::IniFormat);
    setting->setValue("/MySql/ip","127.0.0.1");
    setting->setValue("/MySql/port","3306");
    setting->setValue("/MySql/name","cch");
    setting->setValue("/MySql/password","cch");
    delete setting;

    MainWindow w;
    w.show();
    return a.exec();
}

        运行结果如下:

         当设置参数不加"/MySql/"的话,默认为"General",如下图:

         获取配置参数值同上。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值