配置文件与注册表
一、QSettings
QT中,对.ini文件和注册表都是使用同一个类,就是QSettings类。使用简单,但是不知道是设置问题还是啥,会有点小问题,下面我会指出。
API中介绍,创建QSettings时,必须需要指定公司或者组织、应用名称。注册表使用的,读取INI不需要设置。(you must pass the name of your company or organization as well as the name of your application.)
1 | QSettings settings("MySoft", "Star Runner"); |
1)简单介绍
函数名 | 作用 |
---|---|
QSettings(const QString & fileName, Format format, QObject * parent = 0); |
/
Format
QSettings::NativeFormat 0 在windows平台,用于读取注册表,OSX和IOS 读CFPreferences,Unix读INI
QSettings::IniFormat 1 Store the settings in INI files.
QSettings::InvalidFormat 16 Special value returned by registerFormat().
/ | 构造函数 |
| QStringList allKeys() const; | 返回所有的键 如group/key |
| void beginGroup(const QString & prefix); | 直接读取prefix组 |
| void QSettings::endGroup();
/
settings.beginGroup(“mainwindow”);
settings.setValue(“size”, win->size());
settings.setValue(“fullScreen”, win->isFullScreen());
settings.endGroup();
settings.beginGroup(“outputpanel”);
settings.setValue(“visible”, panel->isVisible());
settings.endGroup();
/ | 返回上一级 |
| QStringList QSettings::childGroups() const; | 返回所有的group |
| QStringList QSettings::childKeys() const; | 返回当前级别的key |
| bool QSettings::contains(const QString & key) const; | 是否包含key |
| void QSettings::remove(const QString & key); | 删除本项及子项 |
| void QSettings::setIniCodec(QTextCodec codec); | 设置编码 |
| void QSettings::setIniCodec(const char codecName); | |
| [static] void QSettings::setPath(Format format, Scope scope, const QString & path);
QSettings::UserScope 0 特定用户范围.
QSettings::SystemScope 1 本机所有用户. | 设置文件路径 |
| void QSettings::setValue(const QString & key, const QVariant & value); | 写入值 |
| QVariant QSettings::value(const QString & key, const QVariant & defaultValue = QVariant()) const; | 取值 |
2)读写配置文件
1 | QSetting qset("./my.ini",QSettings::IniFormat); |
3)读写注册表
1 | QSetting REGRead("MySoft", "Star Runner"); //会在注册表中建了一个MySoft,底下会有个Star Runner的文件夹 下面的操作会在 Star Runner中进行 |
二、API
1)读写配置文件
1 | //读写系统配置文件 |
2)读写注册表
只捉几个介绍!
1 | RegCreateKeyEx(HKEY hKey,LPCWSTR lpSubKey,DWORD Reserved,LPWSTR lpClass,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes,PHKEY phkResult,LPDWORD lpdwDisposition); |
本文标题:配置文件与注册表
文章作者:whppmy
发布时间:2019-01-27
最后更新:2019-01-27
原始链接:http://bugnull.com/QT/配置文件与注册表/
版权声明:个人记录,没有获取同意时,禁止转载!!