目标:
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