qsettings讀寫ini文件,qsettings中文亂碼( 二 )


QSettings::UserScope:用戶環境 , 設置在當前用戶的特定位置中 。
QSettings::SystemScope:系統環境 , 設置在全局型 , 所有用戶均可獲得 。以下是對應QSettings::Format和QSettings::Scope存放的默認路徑位置 , 其中*表示的是對應的程序名稱:
PlatformFormatScopePath
WindowsNativeFormatUserScopeHKEY_CURRENT_USERSoftware*
SystemScopeHKEY_LOCAL_MACHINESoftware*
IniFormatUserScope%APPDATA%*.ini
SystemScope%COMMON_APPDATA%*.ini
UnixNativeFormatUserScope$HOME/.config/*.conf
SystemScope/etc/xdg/*.conf
IniFormatUserScope$HOME/.config/*.ini
SystemScope/etc/xdg/*.ini
Mac OS XNativeFormatUserScope$HOME/Library/Preferences/com.*.plist
SystemScope/Library/Preferences/com.*.plist
IniFormatUserScope$HOME/.config/*.ini
SystemScope/etc/xdg/*.ini

在讀寫時 , 路徑名必須是"/"而不是"\"等 。否則不能讀寫 , 注意 。以Windows XP平臺為例 , 舉倆個例子程序~■、讀寫注冊表
//Format為QSettings::NativeFormat
QSettings settings("HKEY_CURRENT_USER\Software\Microsoft\Office",
QSettings::NativeFormat);
//設置鍵值信息
settings.setValue("11.0/Outlook/Security/DontTrustInstalledFiles", 0);
//獲取鍵值信息
int value = https://minzuwang.com/read/settings.value("11.0/Outlook/Security/DontTrustInstalledFiles").toInt();
對應的值可是bool , double , QString , QStringList , 或者是其他QVariant支持的數據類型 , 也包括注冊過的用戶自定義類型 。
刪除設置對應的是settings->remove( const QString & key );■、讀取ini配置文件
先定義下software.ini文件的格式 , 比較簡單:[bolg]
Name = "vic.MINg"
//Format為QSettings::IniFormat
QSettings *setIni=new QSettings ("software", QSettings::IniFormat);
//設置鍵值信息
setIni->beginGroup("bolg");
setIni->setValue("Name", "vic.MINg");
setIni->endGroup();
//獲取鍵值信息
setIni->beginGroup("bolg");
QString resault = setIni->value("Name").toString();
setIni->endGroup();
qDebug()<<resault;
QSetting的應用并不難 , 但很有用 , 一些更細致的操作用法 , 可以參看幫助文檔!可以參照示例:$QTDIRexamplestoolssettingseditor

推薦閱讀