📄 settings.h
字号:
#ifndef __SETTINGS_H__#define __SETTINGS_H__#include <QObject>class QSettings;class QSplitter;class QStringList;class QString;namespace gui {class StaticSettings;/** Class managing settings, saving and loading single settings or window states \brief Saving and loading settings */class Settings : public QObject { Q_OBJECTpublic: ~Settings(); static Settings* getInstance(); static void installExitHandler(); static void setAppKey(const QString &key); static void setPaths(const QString &dataPath, const QString &configDir, const QString &configFile); static QString dataPath(); static QString configDir(); static QString configFile(); static QString appPath(); static void addAlias(const QString &origName, const QString &newName); void saveWindow(QWidget *win,const QString &name); void restoreWindow(QWidget *win,const QString &name); void saveSplitter(QSplitter *spl,const QString &name); void restoreSplitter(QSplitter *spl,const QString &name); QStringList readPath(const QString &name,const QString &prefix="path/"); QStringList readList(const QString &name,const QString &separator=",");public slots: void flush(); QString readExpand(const QString &key,const QString &defValue=QString::null); QString read(const QString &key,const QString &defValue=QString::null); bool readBool(const QString &key,bool defValue=false); int readNum(const QString &key,int defValue=0); void write(const QString &key,const QString &value); void write(const QString &key, int value); void remove(const QString &key); void removeAll(const QString &key); static QString expand(QString s); static QString expandSingle(const QString &var); QString getFullPathName(const QString &nameOfPath,QString fileName=QString::null,const QString &prefix=QString::null);signals: /** Signal emitted when any setting is changed. Key of changed settings is sent. Can be used to monitor settings changes */ void settingChanged(QString);private: //Constructor is private, use getInstance Settings(); void init(); void initSettings();private: /** Settings object used to load configuration These settings takle precedence before staticSettings */ QSettings *set; /** Settings object used to load static configuration (menu, etc ...) These settings are never changed (and never written) */ StaticSettings *staticSet;};/** One object for application, holding all global settings. It will be initialized on first call to \see Settings::getInstance */extern Settings *globalSettings;} // namespace gui#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -