QT 使用QSettings读写ini配置文件
利用Qsettings包一个类 RWIniFile, writeIni方法写文件, readIni方法读文件
rwinifile.h
#ifndef RWINIFILE_H
#define RWINIFILE_H #include <QtGui>
class RWIniFile
{
public:
RWIniFile();
bool static writeIni(QString path, QString section,QString keyword, QString keyvalue,bool clear_flag);
bool static writeIni(QString path, QString section,QString keyword, QString keyvalue);
QString static readIni(QString path, QString section,QString keyword, QString &keyvalue);
};
#endif // RWINIFILE_H
rwinifile.cpp
#include "rwinifile.h" RWIniFile::RWIniFile()
{
} bool RWIniFile::writeIni(QString path, QString section,QString keyword, QString keyvalue)
{
if(path == QString(""))
{
return false;
}
else
{
//创建配置文件操作对象
QSettings *config = new QSettings(path, QSettings::IniFormat); //将信息写入配置文件
config->beginGroup(section);
config->setValue(keyword, keyvalue);
config->endGroup(); if(config)
{
delete config;
} return true;
}
} bool RWIniFile::writeIni(QString path, QString section,QString keyword, QString keyvalue, bool clear_flag)
{
if(path == QString(""))
{
return false;
}
else
{
//创建配置文件操作对象
QSettings *config = new QSettings(path, QSettings::IniFormat);
if( clear_flag == true )
config->clear(); //将信息写入配置文件
config->beginGroup(section);
config->setValue(keyword, keyvalue);
config->endGroup(); if(config)
{
delete config;
} return true;
}
} QString RWIniFile::readIni(QString path, QString section,QString keyword, QString &keyvalue)
{
if(path == QString(""))
{
return false;
}
else
{
//创建配置文件操作对象
QSettings *config = new QSettings(path, QSettings::IniFormat); keyvalue = config->value(section + "/" + keyword).toString(); if(config)
{
delete config;
} return keyvalue;
}
}
main函数里的使用方法
RWIniFile::writeIni("log.txt", "config1", "key1", "test");
RWIniFile::writeIni("log.txt", "config1", "key2", "test2");
RWIniFile::writeIni("log.txt", "config2", "key1", "test");
RWIniFile::writeIni("log.txt", "config2", "key2", "test2");
RWIniFile::writeIni("log.txt", "config2", "key2", "test2"); //写入不清除原配置
RWIniFile::writeIni("log.txt", "config3", "key", "hello world", false); //如果clear_flag=true,清除原配置
QString keyword;
keyword = RWIniFile::readIni(QString("log.txt"), QString("config3"), QString("key"), keyword); //读配置文档
qDebug() << keyword ;
QT 使用QSettings读写ini配置文件的更多相关文章
- 【Qt 】QSettings写ini配置文件
QSettings写ini配置文件(Qt版本5.2): #include "inidemo.h" #include <QSettings> #include <Q ...
- C# 读写 ini 配置文件
虽说 XML 文件越发流行,但精简的 ini 配置文件还是经常会用到,在此留个脚印. 当然,文中只是调用系统API,不会报错,如有必要,也可以直接以流形式读取 ini文件并解析. /// <su ...
- [转]VB 读写ini 配置文件
转自 百度知道 C# 读写 ini配置文件 点此链接 'API 声明Public Declare Function GetPrivateProfileString Lib "kernel32 ...
- 自己写的 读写 ini 配置文件类
/// <summary> /// 不调用系统API 读写 ini 配置文件 /// </summary> public class RW_ini { #region ==== ...
- 引用“kernel32”读写ini配置文件
引用"kernel32"读写ini配置文件 unity ini kernel32 配置文件 引用"kernel32"读写ini配置文件 OverView ke ...
- C# 文件的一些基本操作(转)//用C#读写ini配置文件
C# 文件的一些基本操作 2009-07-19 来自:博客园 字体大小:[大 中 小] 摘要:介绍C#对文件的一些基本操作,读写等. using System;using System.IO;us ...
- C#操作读写INI配置文件
一个完整的INI文件格式由节(section).键(key).值(value)组成.示例如:[section]key1=value1key2=value2; 备注:value的值不要太长,理论上最多不 ...
- Qt读写三种文件,QSettings读ini配置文件,QJsonDocument读JSON文件,QDomDocument读xml文件
第一种INI配置文件 .ini 文件是Initialization File的缩写,即初始化文件. 除了windows现在很多其他操作系统下面的应用软件也有.ini文件,用来配置应用软件以实现不同用户 ...
- QT读写ini配置文件
/********下面是写ini文件*************************/ //Qt中使用QSettings类读写ini文件 //QSettings构造函数的第一 ...
随机推荐
- 部署vuejs dist文件,通过node.js编译
前期准备: 1. Linux环境,安装配置node.js ① 下载地址:http://nodejs.cn/download/ ,下载linux 64位 ② 已编译好的压缩包,解压到指定目录 cd / ...
- (六)通过solr7的API实现商品的列表查询
(六)通过solr7的API实现商品的列表查询 工具类: 获取 HttpSolrClient public class Constant { public static HttpSolrClient ...
- String、StringBuffer与StringBuilder的区别。
无论是做Java或是Android,都避免不了遇到这个问题,其实开发过程中一般情况下是不会纠结,这个问题是面试必选经典题,今天有时间,就总结一下. String.StringBuffer.String ...
- 查看java进程的所有信息
查看java 进程下的所有信息 ll /proc/pid/fd ru:ll /proc/24047/fd
- [JavaScript] this、call和apply详解
在JavaScript编程中,理解this.call和apply是道槛,如果能正确的理解它们的本质及其应用.那么在以后的JavaScript中会得心应手. this 跟别的语言大相径庭的是,JavaS ...
- FW 执行Git命令时出现各种 SSL certificate problem 的解决办法
比如我在windows下用Git clone gitURL 就提示 SSL certificate problem: self signed certificate 这种问题,在windows下出现 ...
- 设置请求timeout超时
import requests r = requests.get("http://www.cnblogs.com/yoyoketang/", timeout=1) # 设置超时 p ...
- Android学习资源网站大全
https://github.com/zhujun2730/Android-Learning-Resources 整理了一些 Android 的博客链接.学习资源网站.站在巨人的肩膀上,会看得更远.整 ...
- Armijo-Goldstein准则与Wolfe-Powell准则
Armijo-Goldstein准则与Wolfe-Powell准则是不精确的一维搜索的两大准则. 之所以要遵循这些准则是为了能使算法收敛(求最优解).即要使我们的不精确的一维搜索的步长满足一定的规则, ...
- Symfony 一些介绍
Symfony 一些介绍: 路由:能限制 hostname,这就让有大量公共功能的网站可以共用一套代码:URI 识别支持 Reg 检测,让 url 能定义的随心所欲:支持前缀,import,便于模块化 ...