#ifndef PQ_APPPATH_H #define PQ_APPPATH_H #include #include namespace PQ { // 程序数据的保存目录,默认基本目录为: {用户目录}/.{程序名} class AppPath : public QObject { Q_OBJECT private: explicit AppPath(); signals: void pathChanged(); // 目录变更通知 public: static AppPath * this_(); // 更改默认目录,日志,配置,缓存,数据也会跟着变,但是数据不会迁移,当前日志不会变更,需要去PQLogManger里设置 bool setBaseDir(const QDir &dir); //基本目录,默认为: {用户目录}/.{程序名} inline const QDir & baseDir() const{return _baseDir;} //配置目录,为: {基本目录}/config inline const QDir & configDir() const{return _configDir;} //缓存目录,为: {基本目录}/cache inline const QDir & cacheDir() const{return _cacheDir;} //数据目录,为: {基本目录}/data inline const QDir & dataDir() const{return _dataDir;} //临时目录,为: {系统TMP目录}/{程序名}.{程序PID} inline const QDir & tmpDir() const {return _tmpDir;} //日志目录,为: {基本目录}/log inline const QDir & logDir() const {return _logDir;} private: QDir _baseDir; QDir _configDir; QDir _cacheDir; QDir _dataDir; QDir _logDir; QDir _tmpDir; }; } #endif // APPPATH_H