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构造函数的第一 ...
随机推荐
- 【BZOJ2870】最长道路tree 点分治+树状数组
[BZOJ2870]最长道路tree Description H城很大,有N个路口(从1到N编号),路口之间有N-1边,使得任意两个路口都能互相到达,这些道路的长度我们视作一样.每个路口都有很多车辆来 ...
- 《挑战程序设计竞赛》1.6 轻松热身 POJ1852
Ants Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 12782 Accepted: 5596 Description ...
- 学习即语言的学习 “表示” “presentation”
w 龚升
- Springboot整合thymeleaf模板
Thymeleaf是个XML/XHTML/HTML5模板引擎,可以用于Web与非Web应用. Thymeleaf的主要目标在于提供一种可被浏览器正确显示的.格式良好的模板创建方式,因此也可以用作静态建 ...
- Django报:AttributeError: tuple object has no attribute get
def index(request): hero_list=models.HeroInfo.objects.all() return render_to_response('index.html',{ ...
- Python中 sys.argv[]的用法实操
使用sys.argv[]首先要调用模块sys import sys 通俗说,这个东西就是取代了input的功能,input是用pycharm上,而argv[]是用在命令行上 也就是window 上的小 ...
- C++程序设计练习(一)
// 1. 在屏幕上输出内容 #include<iostream> using namespace std; int main(){ int i= 1; cout<<" ...
- 201703 ABAP面试题002
转自: ABAP 面试问题及答案(一):数据库更新及更改 SAP Standard (转) 问题一:锁对象(Lock Object)和 FM(Function Module)激活锁定对象时,产生的 F ...
- OVF and OVA
最近测试的东西有关于ovf 和ova等相关用例,在网上找了点内容摘抄了下来. 一.什么是OVF文件 开源虚拟化格式OVF文件是一种开源的文件规范,它描述了一个开源.安全.有效.可拓展的便携式虚拟打包以 ...
- Python2 socket TCPServer 多线程并发 超时关闭
在阿里云上测试过,可以直接使用. 用IP和端口发送数据,会返回echo:+接收到的数据 #coding=utf-8 import socket import threading,getopt,sys, ...