#ifndef SETTINGS_H #define SETTINGS_H #include #include #include "global.h" class Settings { public: //获取单例实例 static Settings& instance(); //基础读写接口 void setValue(const QString& group, const QString& name, const QVariant& value); QVariant value(const QString& group, const QString& name); void clearValue(const QString& group, const QString& name); //数据库配置读写接口 QStringList getConnectionList(); DatabaseConfig loadDatabaseConfig(const QString& configID); void saveDatabaseConfig(const DatabaseConfig& config); void removeDatabaseConfig(const QString& configID); private: explicit Settings(); ~Settings(); // 禁止拷贝 Settings(const Settings&) = delete; //delete关键字表示该函数不可用,包括编译器自动生成的函数 Settings& operator=(const Settings&) = delete; QVariant getDefaultValue(const QString& group, const QString& name); QSettings* m_settings; QString m_settingsFile; bool m_isVaildSettingsFile; }; #endif // SETTINGS_H