qt ini文件的讀、寫、刪除

目前實測的的qt的[section]和[parameter]是通過/隔開的
//配置文件路徑
QSettings config = new QSettings(QApplication::applicationDirPath() + "/test.ini",QSettings::IniFormat);  
//設置配置文件, 寫入值
config->setValue("test2",1);         //不指定節(section)的話默認的[General]
config->setValue("/task1/task1",1);  //指定節(section)爲[task1],創建一個key爲task1,value爲1的參數(parameter)
config->setValue("/task2/task2",1);  //指定節(section)爲[task2] 創建一個key爲task2,value爲1的參數(parameter)
 
//讀取配置文件
QString str = config->value("/task2/task2").toString();    //獲取配置文件[task2]下的task2的值

//刪除配置文件下的[task1]的所有內容
configIni->remove("/task1");  

 

test.ini

未刪除前

[General]
test1=1

[task1]
task1=1

[task2]
task2=1

刪除後

[General]
test1=1

[task2]
task2=1

 

另外查了一些軟件下的一些配置文件的,一般情況下配置文件的key首字母好像都是大寫,上面做了一個很不好的示範,不知道規範點的ini文件是不是首字母都是大寫,這個有待商榷。以下是一些軟件的配置文件,僅供學習使用,商業用途請聯繫原軟件公司,版權歸原來軟件公司所有,如有侵權請聯繫刪除。

[Main]
Site=1
AutoClick=1
AlphaBlend=255
TMainFormTop=661
TMainFormLeft=1041
TMainFormHeight=219
TMainFormWidth=457
TMainFormState=0
FitWidth=0
EnableKeyRepeat=1

 

[DlgCreateClient]
LastIP=192.168.5.121
LastPort=8080
LastLocalPort=-1
LastType=0
[DlgDataView]
SendHex=0
[DlgCreateServer]
DlgServerPort=10001
[Update]
Time=1511941579
[SysOptions]
SendBlSZforFile=1472
SendBlITforFile=1
RecCycleforSaveFile=100
RecBufferSize=1048576

 

另外常用的還有qt文檔中的:

1、allKeys

QSettings settings;

  settings.setValue("fridge/color", QColor(Qt::white));
  settings.setValue("fridge/size", QSize(32, 96));
  settings.setValue("sofa", true);
  settings.setValue("tv", false);

 
  QStringList keys = settings.allKeys();
  // keys: ["fridge/color", "fridge/size", "sofa", "tv"]

2、childGroups

QSettings settings;

  settings.setValue("fridge/color", QColor(Qt::white));
  settings.setValue("fridge/size", QSize(32, 96));
  settings.setValue("sofa", true);
  settings.setValue("tv", false);

 
  QStringList groups = settings.childGroups();
  // groups: ["fridge"]

3、childKeys

QSettings settings;

  settings.setValue("fridge/color", QColor(Qt::white));
  settings.setValue("fridge/size", QSize(32, 96));
  settings.setValue("sofa", true);
  settings.setValue("tv", false);

 
  QStringList keys = settings.childKeys();
  // keys: ["sofa", "tv"]

 

If a group is set using beginGroup(), the top-level keys in that group are returned, without the group prefix:


 
  settings.beginGroup("fridge");
  keys = settings.childKeys();
  // keys: ["color", "size"]

 

 

 

關於ini文件可以參考文章《ini配置文件格式》:

https://blog.csdn.net/a123441/article/details/90668032

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章