首页 > 其他分享 >QT读写配置ini文件

QT读写配置ini文件

时间:2024-09-27 16:02:52浏览次数:5  
标签:文件 QT settings 读写 hostIP ini hostPort SysParam

一、概述

Qt中常见的配置文件为(.ini)文件,其中ini是Initialization File的缩写,即初始化文件。
配置文件的格式如下所示:

模板:

点击查看代码
[节名]
key1=value1
key2=value2

示例:
[SysParam]
hostIP=192.168.1.100
hostPort=5200

Qt中使用QSettings类来完成读写ini文件的操作。

二、使用步骤

1.引入头文件
// 引入配置文件的头文件
//#include <QtCore/QCoreApplication>

点击查看代码
//#include <QtCore/QCoreApplication>
//#include <QSettings>

//#include
2.头文件的public中定义配置文件对象

点击查看代码

public:
    QSettings *settings;

三、初始化

// 第一个参数表示:ini文件名,
// 第二个参数表示:可以读写.ini格式的配置文件
settings = new QSettings("setting.ini",QSettings::IniFormat); // 如果路径下没有就生成文件
qDebug() << QCoreApplication::applicationDirPath(); // 此处是生成的配置文件路径
QString hostIP = settings->value("SysParam/hostIP").toString(); // 获取ini文件的IP
QString hostPort = settings->value("SysParam/hostPort").toString();// 获取ini文件的端口
// 如果本地没有配置IP或端口,就重新配置
if(hostIP.isEmpty() || hostPort.isEmpty())
{
hostIP = "192.168.1.100";
hostPort = "5200";
settings->setValue("SysParam/hostIP", hostIP); // 设置ini文件中的IP
settings->setValue("SysParam/hostPort", hostPort); // 设置ini文件中的Port
}

点击查看代码
// 第一个参数表示:ini文件名,
// 第二个参数表示:可以读写.ini格式的配置文件
settings = new QSettings("setting.ini",QSettings::IniFormat);      // 如果路径下没有就生成文件  
qDebug() << QCoreApplication::applicationDirPath();                // 此处是生成的配置文件路径
QString hostIP = settings->value("SysParam/hostIP").toString();    // 获取ini文件的IP
QString hostPort = settings->value("SysParam/hostPort").toString();// 获取ini文件的端口
// 如果本地没有配置IP或端口,就重新配置
if(hostIP.isEmpty() || hostPort.isEmpty())
{
    hostIP = "192.168.1.100";
    hostPort = "5200";
    settings->setValue("SysParam/hostIP", hostIP);                // 设置ini文件中的IP
    settings->setValue("SysParam/hostPort", hostPort);            // 设置ini文件中的Port
}

标签:文件,QT,settings,读写,hostIP,ini,hostPort,SysParam
From: https://www.cnblogs.com/wang-xiao-shuai/p/18435950

相关文章

  • 使用VSCode进行Qt开发插件QtSupport
    使用VSCode进行Qt开发插件QtSupport使用VSCode进行Qt开发一般都是使用的官方插件Qttools,使用起来并不是太方便,所以我选择QtSupport插件。一、QtSupport功能可以创建项目导入基于CMake的qt项目可以添加Qt项目文件DesignerFormClassDesignerFormC++classTransla......
  • Docker Init 实战详解:从入门到精通
    1.引言在容器化应用开发的世界里,Docker一直是首选工具。然而,对于初学者来说,创建Dockerfile和设置Docker环境可能是一个挑战。为了简化这个过程,Docker引入了dockerinit命令。本文将深入探讨DockerInit的方方面面,从其诞生背景到高级应用,为您提供全面的指南。©......
  • Anaconda - Installation and Initialization
    InstallAnaconda:https://docs.anaconda.com/anaconda/install/linux/ CreateaCondavirtualenvironment: (base)zzh@ZZHPC:~/zd/Github$condacreate-nzpytorchanacondaChannels:-defaultsPlatform:linux-64Collectingpackagemetadata(repodata.json):d......
  • QT 打包成文件夹
    1.首先,将调试模式改为【Release】,然后重新运行程序:2.运行之后会生成一个.exe文件(这个exe文件是不能运行的),在编译目录下将它找到然后将这个exe文件复制出来,另外创建一个文件夹,将它放进去3.打开开始菜单,在Qt文件夹中找到MinGW文件夹中的这个文件(我是用MinGW_32_bit编译的),所以......
  • Qt解析十六进制串
      QByteArrayarr1=QByteArray::fromHex("000000A1000000B2000005DC00000000000000900000000000000000000000000000000100000020000000210000000100000000001748C8000000000000046C00000000000000A100000000000000000000006000000000000061E400000000");for......
  • 提高python读写excel单元格的效率
    目录1、批量写入一列与逐个写入一列的效率对比2、批量读取一行3、批量读取一列4、批量读取二维表格5、批量写入二维表格使用pywin32读写excel,如果逐个单元格访问,会明显感觉到执行效率很低。因为pywin32其实是python重新封装了一下com接口,交互效率本身就低。试了一......
  • PyQt项目实战-(Pyqt5+mysql制作一个TODO清单 第一部分)
    PyQt项目实战Pyqt5实现todolist工作待办的增、改、删、查功能,连接mysql存储数据(待办事项)。目录目录        1.界面设计    2.功能实现    3.界面各Button点击事件和槽函数的链接    4.mysql数据库操作工具类    5.槽函数实现......
  • 前端使用webpack本地实现编译时出现错误[cached] 1 asset ERROR in main Module not
    一:概述Webpack是一个现代JavaScript应用程序的静态模块打包工具。它主要用于将JavaScript代码、CSS、图片等资源模块化管理,并最终打包成一个或多个文件,方便在浏览器中使用。以下是对Webpack的详细介绍:主要特点模块化:Webpack支持ES6模块、CommonJS和AMD模块,能够将各种......
  • java 如何像 js 一样使用 ?( optional chaining operator)
    在Java中,没有像JavaScript中的可选链操作符(optionalchainingoperator)一样的语法。但是,可以使用Java8中引入的Optional类来实现类似的功能。假设我们有一个包含嵌套对象的类:publicclassMyClass{privateMyOtherClassmyOtherClass;//gettersandsetter......
  • MiniMax、商汤科技、面壁智能、西湖心辰、声网都来了!RTE 大会「实时互动和大模型」专
       当大模型进化到实时多模态,将诞生什么样的新场景和玩法? VoiceAI实现human-like的最后一步是什么? AI视频爆炸增长,新一代编解码技术将面临何种挑战? 所有AIInfra都在探寻规格和性能的最佳平衡,如何构建高可用的云边端协同架构? AI加持下,空间计算和新......