最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt實(shí)現(xiàn)配置文件讀寫(xiě)操作的示例詳解

 更新時(shí)間:2025年05月26日 09:39:41   作者:羅非魚(yú)61  
這篇文章主要為大家詳細(xì)介紹了如何使用Qt實(shí)現(xiàn)配置文件讀寫(xiě)操作,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

1. 保存分組數(shù)據(jù)到配置文件

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

生成的 network.ini 文件內(nèi)容:

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

2. 從配置文件加載分組數(shù)據(jù)

#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();
 
    // 加載目標(biāo)地址配置
    settings.beginGroup("Network/Destination");
    QString dstIP = settings.value("IP", "0.0.0.0").toString();
    int dstPort = settings.value("Port", 80).toInt();
    settings.endGroup();
 
    // 打印結(jié)果
    qDebug() << "源地址:" << srcIP << ":" << srcPort;
    qDebug() << "目標(biāo)地址:" << dstIP << ":" << dstPort;
}

輸出結(jié)果:

源地址: "192.168.1.100" : 5000
目標(biāo)地址: "10.10.2.200" : 8080

3. 分組操作關(guān)鍵點(diǎn)

操作代碼示例說(shuō)明
開(kāi)始分組beginGroup("Network")進(jìn)入層級(jí)配置
嵌套分組beginGroup("Source")可多層嵌套
結(jié)束分組endGroup()必須與beginGroup成對(duì)出現(xiàn)
組合路徑beginGroup("Network/Source")直接訪問(wèn)深層分組
默認(rèn)值處理value("Port", 80)當(dāng)鍵不存在時(shí)返回默認(rèn)值

4. 完整使用示例

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

5. 擴(kuò)展:動(dòng)態(tài)分組管理

如果需要處理多個(gè)動(dòng)態(tài) 網(wǎng)絡(luò)配置(如保存多個(gè)服務(wù)器配置):

// 保存多個(gè)服務(wù)器配置
void saveServers() {
    QSettings settings("servers.ini", QSettings::IniFormat);
 
    QStringList servers = {"ServerA", "ServerB", "ServerC"};
    foreach (const QString &name, servers) {
        settings.beginGroup(name); // 動(dòng)態(tài)生成分組名
        settings.setValue("IP", name + ".example.com");
        settings.setValue("Port", 8080);
        settings.endGroup();
    }
}
 
// 加載所有服務(wù)器
void loadServers() {
    QSettings settings("servers.ini", QSettings::IniFormat);
 
    foreach (const QString &group : settings.childGroups()) {
        settings.beginGroup(group);
        qDebug() << "服務(wù)器" << 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

通過(guò)這種分組方式可以:

  • 避免鍵名沖突(如不同分組的Port
  • 提高配置文件可讀性
  • 方便批量管理同類(lèi)配置項(xiàng)

到此這篇關(guān)于Qt實(shí)現(xiàn)配置文件讀寫(xiě)操作的示例詳解的文章就介紹到這了,更多相關(guān)Qt讀寫(xiě)配置文件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 輕松實(shí)現(xiàn)C/C++各種常見(jiàn)進(jìn)制相互轉(zhuǎn)換

    輕松實(shí)現(xiàn)C/C++各種常見(jiàn)進(jìn)制相互轉(zhuǎn)換

    這篇文章主要介紹了輕松實(shí)現(xiàn)C/C++各種常見(jiàn)進(jìn)制相互轉(zhuǎn)換,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 深入分析C++模板特化與偏特化

    深入分析C++模板特化與偏特化

    這篇文章主要介紹了C++模板特化與偏特化的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)c++,感興趣的朋友可以了解下
    2020-08-08
  • C++實(shí)現(xiàn)反轉(zhuǎn)鏈表的兩種方法

    C++實(shí)現(xiàn)反轉(zhuǎn)鏈表的兩種方法

    本文主要介紹了C++實(shí)現(xiàn)反轉(zhuǎn)鏈表的兩種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 一篇文章帶你了解C語(yǔ)言文件操作中的幾個(gè)函數(shù)

    一篇文章帶你了解C語(yǔ)言文件操作中的幾個(gè)函數(shù)

    這篇文章主要介紹了使用C語(yǔ)言操作文件的基本函數(shù)整理,包括創(chuàng)建和打開(kāi)以及關(guān)閉文件的操作方法,需要的朋友可以參考下,希望能夠給你帶來(lái)幫助
    2021-09-09
  • C語(yǔ)言預(yù)處理器使用方法講解

    C語(yǔ)言預(yù)處理器使用方法講解

    C預(yù)處理器不是編譯器的組成部分,但是它是編譯過(guò)程中一個(gè)單獨(dú)的步驟。簡(jiǎn)言之,C預(yù)處理器只不過(guò)是一個(gè)文本替換工具而已,它們會(huì)指示編譯器在實(shí)際編譯之前完成所需的預(yù)處理。我們將把C預(yù)處理器(C Preprocessor)簡(jiǎn)寫(xiě)為CPP
    2022-12-12
  • c語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易版三子棋(附完整代碼)

    c語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易版三子棋(附完整代碼)

    大家好,本篇文章主要講的是c語(yǔ)言實(shí)現(xiàn)簡(jiǎn)易版三子棋(附完整代碼),感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-01-01
  • C語(yǔ)言可變參數(shù)函數(shù)詳解示例

    C語(yǔ)言可變參數(shù)函數(shù)詳解示例

    一般我們編程的時(shí)候,函數(shù)中形式參數(shù)的數(shù)目通常是確定的,在調(diào)用時(shí)要依次給出與形式參數(shù)對(duì)應(yīng)的實(shí)際參數(shù)。但在某些情況下我們希望函數(shù)的參數(shù)個(gè)數(shù)可以根據(jù)需要確定,因此c語(yǔ)言引入可變參數(shù)函數(shù)。典型的可變參數(shù)函數(shù)的例子有printf()、scanf()等,下面我就開(kāi)始講解
    2013-11-11
  • VC6.0實(shí)現(xiàn)讀取Excel數(shù)據(jù)的方法

    VC6.0實(shí)現(xiàn)讀取Excel數(shù)據(jù)的方法

    這篇文章主要介紹了VC6.0實(shí)現(xiàn)讀取Excel數(shù)據(jù)的方法,非常實(shí)用的功能,需要的朋友可以參考下
    2014-07-07
  • 詳解C語(yǔ)言結(jié)構(gòu)體,枚舉,聯(lián)合體的使用

    詳解C語(yǔ)言結(jié)構(gòu)體,枚舉,聯(lián)合體的使用

    這篇文章主要給大家介紹一下關(guān)于C語(yǔ)言中結(jié)構(gòu)體、枚舉、聯(lián)合體的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考一下
    2022-07-07
  • 淺談C語(yǔ)言中的指針和數(shù)組有什么區(qū)別

    淺談C語(yǔ)言中的指針和數(shù)組有什么區(qū)別

    C語(yǔ)言中的指針和數(shù)組是兩個(gè)重要的數(shù)據(jù)結(jié)構(gòu),它們?cè)趦?nèi)存管理和數(shù)據(jù)存儲(chǔ)方面有許多相似之處,但也存在一些關(guān)鍵的區(qū)別,本文就來(lái)介紹一下C語(yǔ)言中的指針和數(shù)組有什么區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09

最新評(píng)論

轮台县| 砀山县| 远安县| 三穗县| 永宁县| 柯坪县| 衡阳市| 阳谷县| 荣成市| 武平县| 民乐县| 苍溪县| 鄂托克前旗| 太仓市| 红原县| 安康市| 嘉荫县| 卓资县| 兴山县| 犍为县| 秀山| 会理县| 延寿县| 江北区| 任丘市| 英山县| 临江市| 霍邱县| 方正县| 昆明市| 通海县| 蓬溪县| 从化市| 筠连县| 揭东县| 宁化县| 天津市| 澄城县| 仙居县| 盐津县| 桃江县|