QT开发中单例的使用
QT开发中可以使用单例模式加QSetting类实现一些设置信息的配置从而不用频繁修改代码
static Setting* getInstance(); //首先在public中声明静态方法,该方法用于获取Setting类的对象并且保证对象唯一
static Setting* instance;//静态变量
Setting* Setting::instance = NULL;//记得要在.cpp文件中初始化
Setting* Setting::getInstance()
{
if(instance == NULL)
instance = new Setting(); //保证唯一
return instance;
}
private:
Setting();
~Setting();
Setting(const Setting&);
Setting& operator=(const Setting&);
接下来在setting单例类的构造函数中
QString m_wkdir = QCoreApplication::applicationDirPath();
m_pcfg = new QSettings(m_wkdir + "/cfg.ini", QSettings::IniFormat);
m_pcfg->setIniCodec(QTextCodec::codecForName("UTF-8")); //m_pcfg为QSetting类的对象的指针
写一个value方法获取ini中的值
QVariant Setting::value(QString key)
{
m_pcfg->sync();
return m_pcfg->value(key);
}
接下来就可以在其他地方通过使用 Setting::getInstance()->value(KEY)的方法获取ini的值