qt配置文件 QSetting使用方法

来源:互联网 发布:数据备份怎么做 编辑:程序博客网 时间:2024/05/17 06:55

在做项目时,有时候同样的程序要运行在不同的环境或设备上,而这些环境不可能完全相同(比如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是否存在 但不会创**************

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

这里写图片描述

原创粉丝点击