概述:
1.分享一个工作项目中使用数据库为了方便迁移数据库,所以把数据库的名字密码等相关信息写到配置文件.ini。
2.QSettings的API基于QVariant,允许您以最少的工作量保存大多数基于值的类型,比如QString、QRect和QImage。
3.并且使用此类读取配置文件是有 Key的,这样一来你的配置文件可以利用 Key 的不同配置不同的数据。(见代码和图片)
代码示例:
.h
#ifndef SETTINGFILE_H
#define SETTINGFILE_H
#include <QDialog>
#include <QDebug>
namespace Ui {
class SettingFile;
}
class SettingFile : public QDialog
{
Q_OBJECT
public:
explicit SettingFile(QWidget *parent = 0);
~SettingFile();
private:
/**
* @brief getConfigFile_ini 获取配置文件
*/
void getConfigFile_ini();
private:
Ui::SettingFile *ui;
};
#endif // SETTINGFILE_H
.cpp
#include "SettingFile.h"
#include "ui_SettingFile.h"
#include <QSettings>
#include <QDir>
#define DBCONFIGFILEINI "/Config/DBconfig.ini"
SettingFile::SettingFile(QWidget *parent) :
QDialog(parent),
ui(new Ui::SettingFile)
{
ui->setupUi(this);
getConfigFile_ini();
}
SettingFile::~SettingFile()
{
delete ui;
}
void SettingFile::getConfigFile_ini()
{
QDir dirPath;
QString path = dirPath.currentPath()+ DBCONFIGFILEINI;
QSettings *getConfig = new QSettings(path,QSettings::IniFormat);
QString DBname = getConfig->value("/DBConfig/DBname").toString();
QString DBuser = getConfig->value("/DBConfig/DBuser").toString();
QString DBpassword = getConfig->value("/DBConfig/DBpassword").toString();
qDebug()<< DBname << DBuser << DBpassword;
QString DBn = getConfig->value("/test/DBn").toString();
QString DBu = getConfig->value("/test/DBu").toString();
QString DBpa = getConfig->value("/test/DBp").toString();
qDebug()<< DBn << DBu << DBpa;
}
打印输出
"db" "admin" "admin"
"db" "Qt" "Fantast"
ini文件内容图片
over:
欢迎大家关注作者在文末评论、点赞、转发以及批评指正!
如果大家有更好的方法或有问题可以在文末评论一起讨论!
共同学习!
共同进步!
文末一句话:
知世故而不世故,名世俗而不受世俗侵染,才是真正的成熟!