QSettings使用方法

QSettings 使用详解 QSettings 类是 Qt 框架中的一个重要类,用于存储和访问应用程序的设置和配置。它提供了一种简单的方法来读取和写入应用程序的配置数据,支持多种存储格式,包括 Windows 注册表、INI 文件和 XML 文件等。 阅读详情

QSettings如何读写配置文件

读函数:

QVariant value(const QString &key, const QVariant &defaultValue = QVariant())
第一个参数是键
第二个参数是值

写函数:

void setValue(const QString &key, const QVariant &value)
第一个参数是键
第二个参数是默认值,也就是说如果没有读到值,就返回该默认值,如填-1 ,就返回-1

    QSettings *settings = new     QSettings("./setting.ini",QSettings::IniFormat);
    //写
    settings->beginGroup("MAIN");
    settings->setValue("title","Qt配置");
    settings->endGroup();
    settings->beginGroup("OTHER");
    settings->setValue("width",666);
    settings->endGroup();

    //读
     settings->beginGroup("MAIN");
     QString title = settings->value("title","").toString();
     qDebug()<<"title= "<<title; //输出至控制台
     settings->endGroup();
     settings->beginGroup("OTHER");
     QString width = settings->value("width",-1).toString();
     qDebug()<<"width= "<<width; //输出至控制台
     settings->endGroup();

控制台输出的信息:
在这里插入图片描述
setting.ini文件里的内容
在这里插入图片描述

如果想保存所有窗口位置,以使下一次运行应用程序时能够恢复它们的值,那么可以使用QMainWindow的sayeState()和restoreState()函数:

保存在注册表里:

void MainWindow::writeSettings(){
    QSettings settings ("Software Inc.", "QMainWindow APP");
    settings.beginGroup("mainWindow");
    settings.setValue("geometry", saveGeometry());
    settings.setValue ("state", saveState());
    settings.endGroup();
}
void MainWindow::readSettings()
{
    QSettings settings ("Software Inc.", "QMainWindow APP");
    settings.beginGroup("mainWindow");
    restoreGeometry(settings.value ("geometry").toByteArray());
    restoreState(settings.value("state").toByteArray());
    settings.endGroup();
}

也可以保存在ini文件里:

void MainWindow::writeSettings(){
    QSettings settings ("QMainWindow_APP.ini");
    settings.beginGroup("mainWindow");
    settings.setValue("geometry", saveGeometry());
    settings.setValue ("state", saveState());
    settings.endGroup();
}
void MainWindow::readSettings()
{
    QSettings settings ("QMainWindow_APP.ini");
    settings.beginGroup("mainWindow");
    restoreGeometry(settings.value ("geometry").toByteArray());
    restoreState(settings.value("state").toByteArray());
    settings.endGroup();
}
Qt开发:QSettings的介绍和使用 QSettings 是 Qt 提供的一个类,用于在应用程序中持久化存储配置数据。它的目的是简化存储和读取配置项,比如用户设置、程序的默认参数或其他配置信息。QSettings 能够将这些配置项存储在文件系统或平台特定的存储位置中,例如 INI 文件、注册表或 等。 阅读详情

相关推荐

PyQt学习笔记-使用QSettings保存系统配置参数

QSettings继承于QObject,位于PyQt6.QtCore模块中。QSettings的API基于QVariant,允许您以最小的工作量保存大多数基于值的类型,例如QString,QRect和QImage。可通过配置将应用程序需要保存的参数数据保存到本地,如windows的注册表,macOS 和 iOS 上的属性列表文件,linux的ini文本文件等。

向往的是:佛祖堂前的鱼,静静听禅。 3016

QSettings 类

一 、QSettings介绍: 用户通常希望应用程序记住其设置。在windows中,这些设置保存在注册表中,ios在属性文件列表中,而unix,在缺乏标准的情况下,其存储在ini文本中。QSettings有两种存储格式:QSettings::NativeFormat(在windows平台可读写注册表)、QSettings::IniFormat(读写ini文件)、QSettings::Inva...

weixin_30871905的博客 1977

关于QSettings的使用

QSettings用于保存界面的信息以及一些用户需要保存在注册表内的一些信息。 这个类以前有所耳闻,但是一直没用过,不过现在因为项目需要,在看了教程以及一些示例,以及自己的使用之后,总结一下基本的用法。 初始化 在创建一个QSettings对象的时候,必须指定“公司、组织”名称,以及“产品名称”,这个是唯一标识符。如: QSettings settings("Tecent", "QQ"); 上面就表明了这个setting是针对于“Tecent”公司的“QQ”产品。 不过呢,如果在一个程序中需要多次使用到Q

“时光清浅,不觉多年”的博客 1487

Qt | 配置文件QSetting的使用方法

Qt | 配置文件QSettings的使用方法 在主窗口的构造函数中创建配置文件: 加载配置文件并设置到UI界面上显示: 退出主窗体的时候保存配置文件: 如果使用PyQt,析构函数是__del__,当窗口退出时,由于界面已经被销毁,如果在析构函数中进行保存设置,那么是不成功的,所以采取重新实现closeEvent方法即可,如下: 主窗体的构造函数进行初始化: 覆写closeEvent函数用于保存设置: def closeEvent(self, event): settings

^_^ 5928

QSettings 介绍

QSettings类提供了持久的跨平台应用程序设置。

青春不老,奋斗不止! 2万+

修改串口服务器,串口虚拟化 | 串口服务器Nport 5630 设置

原标题:串口虚拟化 | 串口服务器Nport 5630 设置JZGKCHINA项目改造,客户需要对IFix4.5进行升级,并优化通讯,在不改变原来配置的基础上逐步进行替换。需要将IFix升级到IFix5.9,数据库升级为SQL Server 2016,客户现场使用的智能仪表都是支持Modbus RTU协议的,因原来的手拉手的通讯方式的,当一台仪表掉线后,会影响到其他仪表的通讯,所以此次在不改变原有...

weixin_31688465的博客 2408

QSettings

一、描述 用户通常希望应用程序能够记住其跨会话的设置(窗口大小和位置、选项等)。 此信息通常存储在 Windows 上的系统注册表中,以及 macOS 和 iOS 上的属性列表文件中。在 Unix 系统上,由于没有标准,许多应用程序使用 INI 文本文件。 QSettings 是对这些技术的抽象,使用户能够以可移植的方式保存和恢复应用程序设置。它还支持自定义存储格式。 QSettings 的 API 是基于 QVariant 的,可以让用户便捷地保存大多数基于值的类型,例如 QString、QRect

友善啊,朋友的博客 1万+

ESP32小车DIY:从零搭建无线遥控智能车(附完整代码与避坑指南)

本文详细介绍了如何从零开始DIY一台基于ESP32的无线遥控智能小车。内容涵盖核心硬件选型、电路设计、低延迟ESP-NOW无线通信协议的配置与实战,以及双电机差速控制算法与PWM调速的实现。文章提供了完整的代码示例和关键的避坑指南,旨在帮助开发者快速构建稳定可靠的智能车平台,并为进一步的功能扩展奠定基础。

gamma的博客 468

QSettings使用

头文件 #include <QSettings> 一、最简单操作 QSettings *minifile; //声明 minifile = new QSettings("./config1.ini", QSettings::IniFormat);//实例化 //QSettings构造函数的第一个参数是ini文件的路径,第二个参数表示针对ini文件,第三个参数...

white_loong的博客 1473

实用工具抓取youtube热门数据

YouTube作为全球第二大搜索引擎,2024年日均视频播放量突破50亿次,头部创作者单月广告分成可达百万美元量级。但对数据分析者而言,其反爬机制堪称业界最严: ‌反爬技术升级‌:Google部署的Botguard系统可检测异常流量,触发机制包括: 单IP每小时请求超过50次即封禁 检测Headless浏览器指纹(如Chrome的navigator.webdriver属性) 动态加载内容(如评论数据需滚动页面3次后加载) ‌数据价值维度‌:某MCN机构研究显示,前100热门视频的标题关键词复用率高达67%

26万+

点云直线检测-3DLineDetection复现

点云直线分割-Fast 3D line detection

阁楼 8156

Qt之QSettings的使用

一.前言 软件开发中,有这样的需求:用户需要动态配置参数加载到软件界面,以及保存软件的一些状态值,这就需要将数据保存下来然后读取解析,针对这样的需求,可以有两种方式,一种就是自己定义数据格式,然后像读写文本数据那样去读取解析;另一种就利用Qt提供QSeetings来实现,QSeetings有固定的数据格式,以及提供数据读取的函数接口,使用起来便捷,本文就讲述QSettings的简单使用 二、核心代码 1.1写入核心代码 1.2效果 2.1读取核心代码 2.2效果 三、工程源码链接以及其他 ...

我是黄同学博客 3969

移远EC21/EC200模组休眠功耗从13mA降到6mA,我排查了这3个坑(附完整AT指令流程)

本文详细介绍了移远EC21/EC200模组休眠功耗从13mA优化至6mA的完整解决方案,涵盖硬件设计检查、AT指令配置、RTOS调度优化和固件兼容性验证等关键步骤。通过系统性的低功耗问题诊断框架,帮助IoT设备开发者有效提升电池续航能力,特别适合智能水表等电池供电场景应用。

weixin_30715523的博客 534

QSettings详细使用方法,避免错误

QSettings能读写配置文件,当配置文件不存在时,可生成配置文件。 1.避免中文乱码,需要设置配置文件编码 2.写入配置项后,必须同步才能写入文件 #include <QtCore/QtCore> #include <QFile> #include <QDebug> #include <QTextCodec> void ConfigSetting(void) { //文件路径+文件名 QString fileName = QCo

00汪汪00的博客 2万+

【vsomeip3 教程】基于 vSomeIP 3.5 的路由域实践:从配置到运行状态的完整指南

___ > 前言(读者定位与准备) 目标读者:在 Linux 上做分布式/车载中间件通信的 C++ 工程师。 > 先决条件:CMake、Boost 基础;理解 TCP/UDP 与多进程通信。 > 文中术语:Routing Host(路由进程)、Application、Service/Instance、Method、Event/EventGroup、SOME/IP-SD。 > 演示环境:单机多进程 & 跨主机两套对照。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 1159

【AutoSAR】【诊断栈】传输层CANTP

一、功能介绍 数据包发送放拆包分段发送 数据包接收方重组 流控 错误检测 二、参考协议 ISO 15765-2 三、数据帧格式 1、协议数据单元(PDU)格式 2、协议数据单元 - PCI格式 四、数据帧传输 1、单帧传输 CAN帧数据长度小于8字节(包括PCI信息) 无流控握手 PCI包含帧类型、数据长度和数据域 未使用字节填充 2、多帧传输 数据长度超过8字节 流控握手 定时控制 CAN帧类型包括: 首帧 流控帧 后继帧 3、多..

专注汽车软件开发、AutoSAR、车载以太网、SOA、EE架构。 1554

QSettings使用笔记

QSettings使用笔记

前行之路还需前行 937

目前固态激光雷达在机器人领域的应用难点汇总

固态激光雷达在机器人领域面临性能与成本的双重挑战:探测性能上,动态范围不足(60-80dB)导致高/低反射物体识别困难,近距盲区(30-50cm)与长距精度(±3cm)矛盾突出;结构上视场角与点云密度难以平衡,多雷达拼接又带来同步误差。成本方面,核心元件(SPAD/OPA芯片)良率低(<50%)、校准工序复杂,单机成本超200美元。环境适应性上,粉尘附着、振动偏移(±2°)和光衰(1万小时衰减15%)制约可靠性。

start_up_go的博客 481

Qt:QSettings类

QSettings类提供了与平台无关的持久性应用程序设置 头文件: #include <QSettings> cmake: find_package(Qt6 COMPONENTS Core REQUIRED) target_link_libraries(mytarget PRIVATE Qt6::Core) qmake: QT += core cmake: QObject 注意:此类中的所有函数都是reentent。 注意:这些函数也是线程安全的 详细说明 用户通常希望应用程序跨会话

OceanStar的博客 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Qt使用QSettings读写ini文件

作者:billy 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 QSettings 简介 QSettings 类提供了ini文件读写,注册表读写的功能 QSettings::Format有两种: QSettings::NativeFormat 在windows平台可以读写windows注册表 QSettings::IniFormat 可以读写ini格式的配置文件 示例 #include <QSettings> #include <QDebug>

billy的博客 4355

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

QSettings常用方法

QSettings常用方法 1.创建QSettings setting = new QSettings(QCoreApplication::applicationDirPath()+"/config.ini", QSettings::IniFormat);//找到当前可执行目录下,判断是否存在config.ini配置文件,不存在则新建config.ini 2.setValue和Value函数 //设置Value,config.ini会自动以Key-value

duixiaoyan的博客 1222

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

QSettings的使用:

QSettings的使用: //1.创建和读取一样     QSettings* setting = new QSettings(QCoreApplication::applicationDirPath()+"/config.ini", QSettings::IniFormat, this); //config.ini文件在debug文件夹下面,如果以及有了confi...

weixin_45661658的博客 436

qt QSettings 用法总结

<br /> 用户对应用程序经常有这样的要求:要求它能记住它的settings,比如窗口大小,位置,一些别的设置,还有一个经常用的,就是recent files,等等这些都可以通过Qsettings来实现。<br />    我们知道,这些settings一般都是存在系统里的,比如windows一般都写在系统注册表或者写INI文件,mac系统一般都在XML文件里,那么按照一般的标准来说,许多应用程序是用INI文件来实现的。而Qsettings就是提供了一种方便的方法来存储和恢复应用程序的setting

shaopeng123的专栏 4797
上一篇: 解决Qt中文乱码
下一篇: Qt系统托盘图标
xiaobai_cpp
博客等级 码龄9年 264粉丝 94原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值