Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11275
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 40
  • 用 户 组: 普通用户
  • 注册时间: 2016-08-26 11:46
文章分类

全部博文(3)

文章存档

2016年(3)

我的朋友
最近访客

分类: Windows平台

2016-09-29 16:33:36

配置文件cfg.ini经常被使用到。
提供给软件灵活配置的功能,又不被使用者发觉。


配置文件由节,键,值组成。
什么是节键值呢?

例如:配置文件中
[dev_bt]   //节,配置文件中可以有多个节。每节可以有多个键,值
dev_type=Bluetooth   //dev_type为键,Bluetooth为值。
addr = 88
name = 蓝牙低功耗   //值可以是中文

键值有中文需要添加头文件
#include //解决设置中文显示问题
读写配置文件时需要设置Unicode模式
configIniRead->setIniCodec("UTF-8");//"GBK"
以下给出读写的实例程序:

QString read_cfg_ini_info(const QString &key)
{
 QSettings *configIniRead = new QSettings("cfg.ini", QSettings::IniFormat);
 if(NULL == configIniRead)
 {
     //QMessageBox::information(this,"提示","打开cfg.ini文件失败!");
     qDebug() << "open cfg.ini file fail,please check the cfg.ini file is there ok?";
     return NULL;
 }
     configIniRead->setIniCodec("UTF-8");//"GBK"
     //将读取到的ini文件保存在QString中,先取值,然后通过toString()函数转换成QString类型
     QString ipResult = configIniRead->value(key).toString();//("/zk_cfg_info/zk_addr")
     //打印得到的结果
     qDebug() << ipResult;
     //读入入完成后删除指针
     delete configIniRead;
     return ipResult;
}


void write_cfg_ini_info(const QString &key, const QVariant &value)
{
     QSettings settings;
     settings.setIniCodec("UTF-8");
     //Qt中使用QSettings类读写ini文件
     //QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省
     QSettings *configIniWrite;
     configIniWrite = new QSettings("cfg.ini", QSettings::NativeFormat);
     //向ini文件中写入内容,setValue函数的两个参数是键值对
     //向ini文件的第一个节写入内容,ip节下的第一个参数
     configIniWrite->setIniCodec("UTF-8");//"GBK"
     configIniWrite->setValue(key, value);
     //写入完成后删除指针
     delete configIniWrite;
}
读取引用
QString str_get="";
str_get=read_cfg_ini_info("/dev_bt/addr");
阅读(2975) | 评论(0) | 转发(0) |
0

上一篇:double转qstring

下一篇:QT 添加翻译

给主人留下些什么吧!~~