参考学习:
配置文件的应用;
当写程序的时候,可以通过配置文件更改数据内容。避免直接修改代码。
实例:
config.h
#ifndef CONFIG_H
#define CONFIG_H
#include<QString>
#include<QSettings>
#include<QVariant>
class Config
{
public:
Config(QString filename = "");
virtual ~Config();
void Set(QString, QString, QVariant);
QVariant Get(QString,QString);
private:
QString m_filename;
QSettings *m_psetting;
};
#endif // CONFIG_H
config.cpp
#include "config.h"
#include <QtCore/QtCore>
#include <QDebug>
Config::Config(QString filename)
{
if (m_filename.isEmpty())
{
m_filename = QCoreApplication::applicationDirPath() + "/Config.ini";
}
else
{
m_filename = filename;
}
m_psetting = new QSettings(m_filename, QSettings::IniFormat);
qDebug() << "pppp" << m_filename << endl;
}
Config::~Config()
{
delete m_psetting;
m_psetting = NULL;
}
void Config::Set(QString qstrnodename,QString qstrkeyname,QVariant qvarvalue)
{
m_psetting->setValue(QString("/%1/%2").arg(qstrnodename).arg(qstrkeyname), qvarvalue);
}
QVariant Config::Get(QString qstrnodename,QString qstrkeyname)
{
QVariant qvar = m_psetting->value(QString("/%1/%2").arg(qstrnodename).arg(qstrkeyname));
return qvar;
}
main.cpp
int mian()
{
QString qstrnodename = "one";
QString qstrkeyname = "Operato";
//往配置文件写
Config con;
con.Set(qstrnodename, qstrkeyname, "AddOperato");
//从配置文件读
QString operato = Config().Get(qstrnodename, qstrkeyname).toString();
return 0;
}
配置文件内容: