首先介紹一下界面
界面中第一行我創建了選擇文件的按鈕 後面跟着一個顯示文件路徑的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;
}
成果展示
選擇好文件後
點擊讀文件
對自己想要修改的項修改完後 點擊寫文件就可以生成相應的文件