QT:配置参数设计
1、建立一个业务类BllSettings,该类实现的是将参数配置全部封装在里面,供全局调用。
#include <QObject>
#include <QSettings>
class BllSettings : public QObject
2、初始化函数:该函数设计一个全局配置对象s_settings,保证在任何地方调用业务类BllSettings,只有一个配置被初始化。
----.h文件-----
static QSettings* s_settings;
public slots:
/**
* @brief 初始化配置文件
*/
void init();
----cpp文件----
QSettings* BllSettings::s_settings = 0;
/**
* @brief 初始化配置文件
*/
void BllSettings::init()
{
QString dir = QCoreApplication::applicationDirPath();
if (s_settings == 0)
{
//exe运行的当前目录
s_settings = new QSettings(QString("%1/config.ini").arg(dir), QSettings::IniFormat);
}
}
3、更新参数函数,实现参数文件的更改。
----.h文件----
/**
* @brief 更新配置
* @param prefix 组名
* @param key 关键字
* @param value 参数值
*/
void update(QString prefix, QString key, QVariant value);
----.cpp文件----
/**
* @brief 更新配置
* @param prefix 组名
* @param key 关键字
* @param value 参数值
*/
void BllSettings::update(QString prefix,QString key,QVariant value)
{
s_settings->beginGroup(prefix);
s_settings->setValue(key, value);
s_settings->endGroup();
}
4、读取参数函数,实现参数文件的读取。
----.h文件----
/**
* @brief 读取配置
*/
QVariant read(QString prefix, QString key);
----.cpp文件----
/**
* @brief 读取配置
* @param prefix 组名
* @param key 关键字
*/
QVariant BllSettings::read(QString prefix, QString key)
{
QVariant var = s_settings->value(QString("%1/%2").arg(prefix).arg(key),"-1");
return var;
}
5、例子:参数配置界面

