qt配置文件 QSetting使用方法

在做项目时,有时候同样的程序要运行在不同的环境或设备上,而这些环境不可能完全相同(比如IP地址),我们也不可能为为每一台设备都编译一个程序。 这时,配置文件就显示出了它的意义。

QT 提供了 QSetting 来读取修改配置文件

QSetting 由节、键和值组成, 可以理解为键是节的子集,值是键的内容。

配置文件的内容可手动修改,所以在程序里尽量不要去设置它的值(当然创建的时候可以设置初值,手动修改,以后只读取),而只是获取其值。

QSettings setting("config.ini",QSettings::IniFormat)
        参数1:配置文件名,若文件不存在则会自动创建 
        参数2:读写*.ini格式的配置文件
        参数3,可缺省

使用方法:

方法一: 
    setting.beginGroup("com1"); //可以理解为进入到 节 com1
    if(!setting.childKeys().contains("baud")){//判断节com1中是否存在键 baud
        setting.setValue("baud","9600"); //若不存在则创建并赋值为9600
    }
    else{ 
        QString baud = setting.value("baud").toString(); //存在则取出键baud的值
        qDebug()<< "---com1 baud = "+baud; 
        }
    setting.endGroup();  //beginGroup后必须endGroup ,可以理解为退出com1

方法二:
    setting.setValue("com2/baud",38400); //如果不存在节com2下的键baud, 则创建并赋值为38400;
    qDebug()<<"***com2 baud = "+setting.value("com2/baud").toString();

    if(!setting.contains("com5/baud"))
        setting.setValue("com5/baud",19200); //不存在则创建则赋初值
     else
        int baud = setting.value("com5/baud").toInt();


  if(!setting.contains("com8")) //判断节com8是否存在 但不会创**************


以上程序的运行结果,图中的值可手动修改

qt配置文件 QSetting使用方法_第1张图片

你可能感兴趣的:(qt配置文件 QSetting使用方法)