1. 程式人生 > >QT讀寫配置檔案(.ini)

QT讀寫配置檔案(.ini)

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格式的配置檔案。

//讀取配置檔案
void Dialog::on_pushButton_load_clicked()
{
    QString iniFilePath = "F:/QT_Project_201508/TestConfigFile/config_files/MyINI.ini";
    QSettings settings(iniFilePath,QSettings::IniFormat);

    QString G1_path = settings.value("Group1/Path").toString();
    QString G1_fileName = settings.value("Group1/FileName").toString();

    int G2_size = settings.value("Group2/Count").toInt();
    int G2_price = settings.value("Group2/Price").toInt();

    ui->lineEdit_Path->setText(G1_path);
    ui->lineEdit_FileName->setText(G1_fileName);
    ui->lineEdit_Count->setText(QString::number(G2_size));
    ui->lineEdit_Price->setText(QString::number(G2_price));
}
//寫入配置檔案
void Dialog::on_pushButton_update_clicked()
{
    QString iniFilePath = "F:/QT_Project_201508/TestConfigFile/config_files/MyINI.ini";
    QSettings settings(iniFilePath,QSettings::IniFormat);

    settings.setValue("Group1/Path",ui->lineEdit_Path->text());
    settings.setValue("Group1/FileName",ui->lineEdit_FileName->text());
    settings.setValue("Group2/Count",ui->lineEdit_Count->text().toInt());
    settings.setValue("Group2/Price",ui->lineEdit_Price->text().toInt());
}


配置檔案:


程式執行結果: