一、问题描述
今天遇到一个问题,就是想实现一个软件,我上一次开启软件时候配置的IP地址以及,打开的文件路径,能够在我下一次打开软件时候自动写入上一次配置的信息,不需要再重新设置配置了。
二、解决方法
使用QT中的QSettings中的一些方法,以下是我的一些简单的应用方面,经过测试可行。
首先我new了这么一个两个对象,一个对象我是用来写入配置文件的,一个对象我是用来读取配置文件中信息的
//Qt中使用QSettings类读写ini文件
//QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数可以缺省
configIniWrite = new QSettings("./BJC_XK_v1.0.ini", QSettings::IniFormat); //写入配置
configIniRead = new QSettings("./BJC_XK_v1.0.ini", QSettings::IniFormat); //读取配置
这里注意/setk这里叫第一个节,你也可以理解为组,就是平时注册表里面的那些组,然后我在这个组下写入IP跟文件名字
//向ini文件中写入内容,setValue函数的两个参数是键值对
//向ini文件的第一个节写入内容,ip节下的第一个参数
configIniWrite->setValue("/set/ip", ui->line_IP->text()); //我在配置时候写入
QString ip= configIniRead->value("/set/ip").toString(); //这里我在程序启动时候读取
//向ini文件中写入内容,setValue函数的两个参数是键值对
//向ini文件的第一个节写入内容,set节下的第一个参数
configIniWrite->setValue("/set/LastFile", local_FilePT); //写入配置的上一个文件路径
//之后我在需要的地方读取
local_FilePT = configIniRead->value("/set/LastFile").toString(); //读取配置中的文件名字
ui->line_filename->setText(local_FilePT); //设置文件名字显示
我是Debug中所以在这可以d看到我写入的配置信息
打开之后可以看到我的配置信息写入了
这里我只是一个简单的使用可能不是很规范详细的原理可以看下面几篇文章