QT 程序参数保存-QSettings类

背景:

程序需要设置参数保存在本地,下次一次打开时参数为上次设置的值,不会被重新初始化。

QSettings类

实现步骤

1 新建paraConfig类

1.1 paraConfig方法中传入文件名参数fileName

1.2 在程序目录下新建一个CFG文件夹,(ini文件存放在此文件夹下)

 先判断文件夹是否存在 QDir 下的函数  bool QDir::exists(const QString &name) const

如果存在就直接返回已经存在的目录Str,不存在就mkpath新建目录,然后再返回目录。

1.3 将目录名和文件名字符串连接合并传入configFileInit(fileName)

 1  使用QFileInfo 类的 isFile 函数判断fileName是否是一个文件,如果不是说明该文件需要新建,如果是说明该文件已经建好了直接返回。

2 如果需要新建则 使用QSettings 类

QSettings myCfgFile(fileName,QSettings::IniFormat);

写入数据步骤:

a 设置组  myCfgFile.beginGroup("Semi")

b 设置键值和相应的参数  (参数可以是int 和str 和其它类型)

myCfgFile.setValue("key1",1) 

......

myCfgFile.setValue("key2","abc");

c 结束组 myCfgFile.endGroup()

4 文件读取,将ini文件中的参数读出,保存到configData结构体中,用于界面使用

void paraConfig::GetConfigFile(uint8_t u8Type ,S_ConfigData *configData);
读取步骤:
a 获取INI文件,方法和新建INI文件一样,如果传入的文件名一样,则不会新建,直接获取该文件
QSettings myCfgFile(mPathFileNameAll,QSettings::IniFormat)
b 定位到组 myCfgFile.beginGroup("Semi");
c 读取键值和参数 configData->value=myCfgFile.value("key1").toInt();
d 结束键值  myCfgFile.endGroup() 

5 文件写入,将界面参数(结构体S_ConfigData )写入到INI文件。

void paraConfig::Save_UIConfig_To_File(uint8_t u8Type,S_ConfigData *configData)
写入步骤:
a 获取INI文件,方法和新建INI文件一样,如果传入的文件名一样,则不会新建,直接获取该文件
QSettings myCfgFile(mPathFileNameAll,QSettings::IniFormat)
b 定位到组 myCfgFile.beginGroup("Semi");
c 写入键值和参数 
myCfgFile.setValue("key1",1) 
......
myCfgFile.setValue("key2","abc");
d 结束键值 myCfgFile.endGroup() 

2使用paraConfig类

1 初始化新建

myParaFileSemi= new paraConfig("cfg.ini");

2 进入参数界面 调用读取文件

myParaFileSemi->GetConfigFile(0,&sConfigDataSemi);

3 保存参数写入文件

myParaFileSemi->Save_UIConfig_To_File(u8TestMode,&sConfigDataSemi);

代码下载QTINI文件参数保存QSettings类-嵌入式文档类资源-CSDN下载

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值