Qt中配置文件讀寫

1. 保存分組數據到配置文件

#include <QSettings>void saveNetworkConfig() {QSettings settings("network.ini", QSettings::IniFormat);// 網絡配置分組settings.beginGroup("Network");// 源地址配置settings.beginGroup("Source");settings.setValue("IP", "192.168.1.100");settings.setValue("Port", 5000);settings.endGroup(); // 結束 Source 分組// 目標地址配置settings.beginGroup("Destination");settings.setValue("IP", "10.10.2.200");settings.setValue("Port", 8080);settings.endGroup(); // 結束 Destination 分組settings.endGroup(); // 結束 Network 分組settings.sync(); // 立即寫入文件
}

生成的?network.ini?文件內容:

[Network/Source]
IP=192.168.1.100
Port=5000[Network/Destination]
IP=10.10.2.200
Port=8080

2. 從配置文件加載分組數據

#include <QSettings>
#include <QDebug>void loadNetworkConfig() {QSettings settings("network.ini", QSettings::IniFormat);// 加載源地址配置settings.beginGroup("Network/Source");QString srcIP = settings.value("IP", "127.0.0.1").toString();int srcPort = settings.value("Port", 8000).toInt();settings.endGroup();// 加載目標地址配置settings.beginGroup("Network/Destination");QString dstIP = settings.value("IP", "0.0.0.0").toString();int dstPort = settings.value("Port", 80).toInt();settings.endGroup();// 打印結果qDebug() << "源地址:" << srcIP << ":" << srcPort;qDebug() << "目標地址:" << dstIP << ":" << dstPort;
}

輸出結果:

源地址: "192.168.1.100" : 5000
目標地址: "10.10.2.200" : 8080

3. 分組操作關鍵點

操作代碼示例說明
開始分組beginGroup("Network")進入層級配置
嵌套分組beginGroup("Source")可多層嵌套
結束分組endGroup()必須與beginGroup成對出現
組合路徑beginGroup("Network/Source")直接訪問深層分組
默認值處理value("Port", 80)當鍵不存在時返回默認值

4. 完整使用示例

#include <QCoreApplication>
#include <QSettings>
#include <QDebug>int main(int argc, char *argv[]) {QCoreApplication a(argc, argv);// 保存配置saveNetworkConfig();// 加載配置loadNetworkConfig();return 0;
}

5. 擴展:動態分組管理

如果需要處理多個動態網絡配置(如保存多個服務器配置):

// 保存多個服務器配置
void saveServers() {QSettings settings("servers.ini", QSettings::IniFormat);QStringList servers = {"ServerA", "ServerB", "ServerC"};foreach (const QString &name, servers) {settings.beginGroup(name); // 動態生成分組名settings.setValue("IP", name + ".example.com");settings.setValue("Port", 8080);settings.endGroup();}
}// 加載所有服務器
void loadServers() {QSettings settings("servers.ini", QSettings::IniFormat);foreach (const QString &group : settings.childGroups()) {settings.beginGroup(group);qDebug() << "服務器" << group << "=> IP:" << settings.value("IP").toString()<< "Port:" << settings.value("Port").toInt();settings.endGroup();}
}

生成的?servers.ini

[ServerA]
IP=ServerA.example.com
Port=8080[ServerB]
IP=ServerB.example.com
Port=8080[ServerC]
IP=ServerC.example.com
Port=8080

通過這種分組方式可以:

  1. 避免鍵名沖突(如不同分組的Port

  2. 提高配置文件可讀性

  3. 方便批量管理同類配置項

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/84437.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/84437.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/84437.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux 的編輯器--vim

1.Linux編輯器-vim使? vi/vim的區別簡單點來說&#xff0c;它們都是多模式編輯器&#xff0c;不同的是vim是vi的升級版本&#xff0c;它不僅兼容vi的所有指令&#xff0c;?且還有?些新的特性在??。例如語法加亮&#xff0c;可視化操作不僅可以在終端運?&#xff0c;也可以…

SAP Commerce(Hybris)開發實戰(二):登陸生成token問題

問題簡述 最近處理Hybris框架標準的登陸功能&#xff0c;遇到一個問題&#xff1a;用兩個不同的瀏覽器&#xff0c;同時登陸一個賬號&#xff0c;會同時生成兩個不同的token和refreshToken。 問題原因 解決了其實非常簡單&#xff0c;就是Hybris的Employee表中&#xff0c;有一…

c/c++的opencv椒鹽噪聲

在 C/C 中實現椒鹽噪聲 椒鹽噪聲&#xff08;Salt-and-Pepper Noise&#xff09;&#xff0c;也稱為脈沖噪聲&#xff08;Impulse Noise&#xff09;&#xff0c;是數字圖像中常見的一種噪聲類型。它的特點是在圖像中隨機出現純白色&#xff08;鹽&#xff09;或純黑色&#x…

LIEDNet: A Lightweight Network for Low-light Enhancement and Deblurring論文閱讀

摘要 夜間拍攝的圖像常常面臨諸如低光和模糊等挑戰&#xff0c;這些問題主要是由于昏暗環境和長時間曝光的頻繁使用所導致。現有方法要么獨立處理這兩種退化問題&#xff0c;要么依賴于通過復雜機制生成的精心設計的先驗知識&#xff0c;這導致了較差的泛化能力和較高的模型復…

談談worldquant中設置的幾個意思

Decay 是一個設置&#xff0c;用于確定要反映多少過去的位置。正如我們之前詳細介紹的那樣&#xff0c;Decay 值越高&#xff0c;Alpha 周轉率越低。但是&#xff0c;請注意&#xff0c;Alpha 的夏普比率可能會隨著信息延遲而降低。 創建 Alpha 時&#xff0c;頭寸可能會集中在…

大模型和AI工具匯總(一)

一、國內可免費使用的大模型&#xff08;持續更新&#xff09; DeepSeek 模型介紹&#xff1a;DeepSeek 系列包括 DeepSeek V3&#xff08;通用場景&#xff09;、DeepSeek R1&#xff08;推理模型&#xff09;&#xff0c;支持高達 64K 上下文長度&#xff0c;中文場景表現優…

HarmonyOS NEXT 技術特性:分布式軟總線技術架構

HarmonyOS NEXT 技術特性&#xff1a;分布式軟總線技術架構 隨著物聯網發展&#xff0c;2030 預計全球聯網設備達 2000 億&#xff0c;異構設備互聯難題凸顯&#xff0c;分布式軟總線作為 HarmonyOS 生態核心&#xff0c;以軟件虛擬總線打破物理局限&#xff0c;讓跨品牌設備即…

什么是VR展館?VR展館的實用價值有哪些?

VR展館&#xff0c;重塑展覽體驗。在數字化時代浪潮的推動下&#xff0c;傳統的實體展館經歷前所未有的變革。作為變革的先鋒&#xff0c;VR展館以無限的潛力&#xff0c;成為展覽行業的新寵。 VR展館&#xff0c;即虛擬現實展館&#xff0c;是基于VR&#xff08;Virtual Real…

VLA模型:自動駕駛與機器人行業的革命性躍遷,端到端智能如何重塑未來?

當AI開始操控方向盤和機械臂&#xff0c;人類正在見證一場靜默的產業革命。 2023年7月&#xff0c;谷歌DeepMind拋出一枚技術核彈——全球首個視覺語言動作模型&#xff08;VLA&#xff09;RT-2橫空出世。這個能將“把咖啡遞給穿紅衣服的阿姨”這類自然語言指令直接轉化為機器人…

華為OD機試真題——出租車計費/靠譜的車 (2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳實現

2025 A卷 100分 題型 本專欄內全部題目均提供Java、python、JavaScript、C、C++、GO六種語言的最佳實現方式; 并且每種語言均涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、3個測試用例以及綜合分析; 本文收錄于專欄:《2025華為OD真題目錄+全流程解析+備考攻略+經驗分…

40 歲 Windows 開啟 AI 轉型:從系統到生態的智能重構

在科技快速發展的當下&#xff0c;人工智能成為驅動各領域變革的核心力量&#xff0c;擁有 40 年歷史的 Windows 也開啟了向 AI 的全面轉型。2025 年 5 月 19-22 日西雅圖 Build 2025 開發者大會上&#xff0c;微軟展示了 Windows 11 向 AI 智能體核心平臺轉型的戰略&#xff0…

Python實例題:Python3實現可控制肉雞的反向Shell

目錄 Python實例題 題目 代碼實現 reverse_shell_client.py reverse_shell_server.py 實現原理 反向連接機制&#xff1a; 命令執行與傳輸&#xff1a; 功能特點&#xff1a; 關鍵代碼解析 服務端命令處理 客戶端命令執行 客戶端持久化連接 使用說明 啟動服務端…

AWS EC2 使用Splunk DB connect 連接 RDS mysql

1: 先創建 RDS mysql: 我們選擇free: 選擇free 過后,自動生成single instance, 沒有垮AZ 的db 設置。 選擇密碼登入: 注意:上面設置密碼的時候,特別提示:不能有特殊字符,我就設置了: mypassword 下面可以選擇通過EC2 連接,當然也可以不選:

SAP重塑云ERP應用套件

在2025年Sapphire大會上&#xff0c;SAP正式發布了其云ERP產品的重塑計劃&#xff0c;推出全新“Business Suite”應用套件&#xff0c;并對供應鏈相關應用進行AI增強升級。這一變革旨在簡化新客戶進入SAP生態系統的流程&#xff0c;同時為現有客戶提供更加統一、智能和高效的業…

初識 RocketMQ 知識總結:基礎概念、架構解析、核心特性與應用場景

Apache RocketMQ 是一款由阿里巴巴開源的分布式消息中間件&#xff0c;具有高吞吐量、低延遲、高可靠性等特點&#xff0c;廣泛應用于互聯網、金融、電商等領域。以下從多個維度對 RocketMQ 進行全面解析&#xff1a; 一、RocketMQ 基礎概念 1. 定義與定位 分布式消息中間件…

[特殊字符] UI-Trans:字節跳動發布的多模態 UI 轉換大模型工具,重塑界面智能化未來

2025 年&#xff0c;字節跳動&#xff08;ByteDance&#xff09;發布了革命性的多模態 UI 轉換模型 —— UI-Trans&#xff0c;引發了業界廣泛關注。作為一款融合視覺理解、語義分析與用戶交互意圖解析的 AI 工具&#xff0c;UI-Trans 在多個領域展現出強大能力&#xff0c;正在…

這個方法關閉PowerBI賬戶的安全默認值

這個方法關閉PowerBI賬戶的安全默認值 如果PowerBI賬戶是在 2019 年 10 月 22 日當天或之后創建的&#xff0c;則可能會自動啟用安全默認值&#xff0c;登錄賬戶會彈出彈框&#xff0c;如圖&#xff1a; 使用四步就可以關閉此彈框的提示&#xff1a; 第一步&#xff1a;轉到 A…

【Linux】磁盤空間不足

錯誤提示: no space left on device 經典版&#xff08;block占用&#xff09; 模擬 dd if/dev/zero of/var/log/nginx.log bs1M count2000排查 #1. df -h 查看哪里空間不足,哪個分區#2. du -sh詳細查看目錄所占空間 du -sh /* 排查占用空間大的目錄 du -sh /var/* du…

計算機視覺---YOLOv2

YOLOv2講解 一、YOLOv2 整體架構與核心特性 YOLOv2&#xff08;You Only Look Once v2&#xff09;于2016年發布&#xff0c;全稱為 YOLO9000&#xff08;因支持9000類目標檢測&#xff09;&#xff0c;在YOLOv1基礎上進行了多項關鍵改進&#xff0c;顯著提升了檢測精度和速度…

【深度學習】1. 感知器,MLP, 梯度下降,激活函數,反向傳播,鏈式法則

一、感知機 對于分類問題&#xff0c;我們設定一個映射&#xff0c;將x通過函數f(x)映射到y 1. 感知機的基本結構 感知機&#xff08;Perceptron&#xff09;是最早期的神經網絡模型&#xff0c;由 Rosenblatt 在 1958 年提出&#xff0c;是現代神經網絡和深度學習模型的雛形…