QT中读写ini文件

目标:

ini文件(即Initialization file):这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可以赋相应的值。(如下图所示)

在这个prar.ini'文件中,有[x]节,里面有两个键值,m=10,n=2

[ASnap_abc2]节,里面有3个键值。。。。

 

实现方法:

一、界面

二、头文件:两个按钮,第一个保存文件,第二个读取文件。

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

public:
    QString ConnectQStringAndNum(QString str, int i);//给定一个字符串和一个数字,把他俩连起来。

private slots:
    void on_pushButton_clicked();

    void on_pushButton_2_clicked();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H

三、源文件:

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QSettings>  //读写ini文件。
#include<QDebug>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    QSettings *configIni = new QSettings("para.ini", QSettings::IniFormat);

    int CurrentTemplateIndex=2;

    int Finda=10;
    configIni->setValue( "x/m" ,Finda);

    int Findb=2;
    configIni->setValue( "x/n" ,Findb);


    int Findc=9;


    configIni->setValue( ConnectQStringAndNum("ASnap_abc",CurrentTemplateIndex)+"/a" ,Finda);
    configIni->setValue( ConnectQStringAndNum("ASnap_abc",CurrentTemplateIndex)+"/b" ,Findb);
    configIni->setValue( ConnectQStringAndNum("ASnap_abc",CurrentTemplateIndex)+"/c" ,Findc);


    configIni->setValue("address/t", QString("192.168.1.117"));
    delete  configIni;

}

QString MainWindow::ConnectQStringAndNum(QString str, int i)//给定一个字符串和一个数字,把他俩连起来。
{
    QString str_i;
    str_i.sprintf("%d",i);
    return(str+str_i);
}


void MainWindow::on_pushButton_2_clicked()
{
    QSettings *configIni = new QSettings("para.ini", QSettings::IniFormat);


    QString ASI_SITE=configIni->value(   "address/t"   ).toString();
    qDebug() << ASI_SITE;


    QString hour=configIni->value(   "x/n"   ).toString();
    qDebug() << hour;


}

这里,ConnectQStringAndNum(QString str, int i)//给定一个字符串和一个数字,把他俩连起来。这是我自己编的一个函数。

qDebug() << ASI_SITE;的作用是,在黑窗口命令行或者QT下部(见下图)打印出值。

代码下载:

https://pan.baidu.com/s/1cGeVS5H1kNiW1_vBm51X3g

要记得把shadow的那个对号去掉呦!

运行之后,你就会看到代码目录下面有个文件:para.ini

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值