Qt学习 对ini文件进行读写操作

首先介绍一下界面
在这里插入图片描述
界面中第一行我创建了选择文件的按钮 后面跟着一个显示文件路径的LineEdit 还有读写文件的按钮
下面分别是int文件中的一些数据格式 左边是label 右边是LineEdit

ui界面创建好以后
下面是widget.h的代码

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
    QString path;  //我将文件路径用path保存下来 并设为成员变量

    void ReadFile();//读文件函数
    void WriteFile();//写文件函数
private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

下面是widget.cpp的代码

#include<QSettings>
#include<QFileDialog>
#include<QFile>
#include<QTextCodec>
#include<QString>
#include<QMessageBox>
#include<QDebug>
#include "widget.h"
#include "ui_widget.h"


Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    //点击选择文件会创建出一个文件对话框  选择后文件路径保存在path中
    connect(ui->pushButton,&QPushButton::clicked,[=](){
        //创建文件对话框  并将地址保存在path中
        path =  QFileDialog::getOpenFileName(this,"打开文件","C:\\Users\\LEN\\Desktop",("*.ini"));
        ui->lineEdit->setText(path);
		
		//利用信号槽将读文件按钮和写文件按钮与相应的槽函数连接起来
        connect(ui->pushButton_2,&QPushButton::clicked,this,&Widget::ReadFile);
        connect(ui->pushButton_3,&QPushButton::clicked,this,&Widget::WriteFile);
    });

}
//读文件函数
void Widget::ReadFile()
{
    QSettings settings(path, QSettings::IniFormat);
	
    if(settings.contains("CommonConfig/SQLServerIP"))
    {
        QString SQLServerIP = settings.value("CommonConfig/SQLServerIP").toString();
        ui->lineEdit_2->clear();
        ui->lineEdit_2->insert(SQLServerIP);
//后面的可以复制上面的  将名字改为自己文件中的名字就可以了

    }
}
void Widget::WriteFile()
{
	//点击写文件按钮会弹出一个问题对话框  选择Yes会执行下面的代码
    if(QMessageBox::Yes == QMessageBox::question(this,"保存","是否保存修改?"))
    {
		
        QSettings settings(path, QSettings::IniFormat); // 选择的INI文件
        //Config setting
        //选择写文件时开始的组  我的是CommonConfig  也就是int文件中第一行[ ]括起来的就是
        settings.beginGroup("CommonConfig");
        //将lineEdit中的内容写在文件中 并在前面加上SQLServerIP=
        settings.setValue("SQLServerIP", ui->lineEdit_2->text());
        settings.endGroup();
		//后面的就可以复制前面的代码  修改对应的名字就行
    }
}
Widget::~Widget()
{
    delete ui;
}

成果展示
在这里插入图片描述
选择好文件后
在这里插入图片描述
点击读文件
在这里插入图片描述
对自己想要修改的项修改完后 点击写文件就可以生成相应的文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值