Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3044030
  • 博文数量: 396
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4209
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-04 13:04
文章分类

全部博文(396)

文章存档

2022年(1)

2021年(2)

2020年(8)

2019年(24)

2018年(135)

2017年(158)

2016年(68)

我的朋友

分类: 嵌入式

2017-12-26 11:48:33

INI

INI文件格式是某些平台或软件上的配置文件的非正式标准,以节(section)和键(key)构成,常用于微软Windows操作系统中。INI文件是Initialization File的缩写,即初始化文件。除了windows现在很多其他操作系统下面的应用软件也有.ini文件,用来配置应用软件以实现不同用户的要求。一般不用直接编辑这些.ini文件,应用程序的图形界面即可操作以实现相同的功能。INI文件被用来对操作系统或特定程序初始化或进行参数设置。


文件格式


节(section)

节用方括号括起来,单独占一行,例如:

[section]


键(key)
键(key)又名属性(property),单独占一行用等号连接键名和键值,例如:
name=value


QT读写INI文件

Qt4.0一个非常有用的类QSettings,在windows平台,它提供了ini文件读写,注册表读写的功能。而且使用也非常简单。
QSettings::Format有两种:
QSettings::NativeFormat在windows平台可以读写windows注册表;
QSettings::IniFormat可以读写ini格式的配置文件。



  1. //读取配置文件  
  2. void Dialog::on_pushButton_load_clicked()  
  3. {  
  4.     QString iniFilePath = "F:/QT_Project_201508/TestConfigFile/config_files/MyINI.ini";  
  5.     QSettings settings(iniFilePath,QSettings::IniFormat);  
  6.   
  7.     QString G1_path = settings.value("Group1/Path").toString();  
  8.     QString G1_fileName = settings.value("Group1/FileName").toString();  
  9.   
  10.     int G2_size = settings.value("Group2/Count").toInt();  
  11.     int G2_price = settings.value("Group2/Price").toInt();  
  12.   
  13.     ui->lineEdit_Path->setText(G1_path);  
  14.     ui->lineEdit_FileName->setText(G1_fileName);  
  15.     ui->lineEdit_Count->setText(QString::number(G2_size));  
  16.     ui->lineEdit_Price->setText(QString::number(G2_price));  
  17. }  
  18. //写入配置文件  
  19. void Dialog::on_pushButton_update_clicked()  
  20. {  
  21.     QString iniFilePath = "F:/QT_Project_201508/TestConfigFile/config_files/MyINI.ini";  
  22.     QSettings settings(iniFilePath,QSettings::IniFormat);  
  23.   
  24.     settings.setValue("Group1/Path",ui->lineEdit_Path->text());  
  25.     settings.setValue("Group1/FileName",ui->lineEdit_FileName->text());  
  26.     settings.setValue("Group2/Count",ui->lineEdit_Count->text().toInt());  
  27.     settings.setValue("Group2/Price",ui->lineEdit_Price->text().toInt());  

阅读(4069) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~