qsettings删除注册表_QSettings使用方法

qsettings删除注册表_QSettings使用方法一 QSettings 介绍 用户通常希望应用程序记住其设置 在 windows 中 这些设置保存在注册表中 ios 在属性文件列表中 而 unix 在缺乏标准的情况下 其存储在 ini 文本中 QSettings 有两种存储格式 QSettings NativeFormat 在 windows 平台可读写注册表 QSettings IniFormat 读写 ini 文件 QSettings InvalidF

一 、QSettings介绍:

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

QSettings使用户可以保存应用程序设置,并且支持用户自定义存储格式。QSetings API基于QVariant,因而你可以存储却大部分类型的数据。如果你需要一个非持久性的存储,推荐使用QMap.

二、QSettings常用API:创建QSettings对象QSettings(const QString & organization, const QString & application = QString(), QObject * parent = 0)

创建一个QSettings对象,必须传入应用程序名称,及公司名称。如果你的设置来自程序中不同的地方,你需要通过QCoreApplication::setOrganizationName() and QCoreApplication::setApplicationName()指定程序名称和公司名称,并且使用默认的构造函数QSettings settings。

QCoreApplication::setOrganizationName(“MySoft”);

QCoreApplication::setOrganizationDomain(“mysoft.com”);

QCoreApplication::setApplicationName(“Star Runner”);

QSettings settings;写入数据settings.setValue(“editor/wrapMargin”, 68);

每一条信息包含一个key和一个value,value类型为QVariant。读取数据int margin = settings.value(“editor/wrapMargin”).toInt();

如果key不存在,则返回 null QVariant(可以被转化为整数0)

读取数据的时候,可以传递第二个参数,给定新的value:int margin = settings.value(“editor/wrapMargin”, 80).toInt();其他

判断key是否存在: contains(const QString & key) const

移除某项:remove(const QString & key)

得到所有键:QStringList QSettings::allKeys()

三、使用示例读写注册表

实例化对象时,设置存储格式为:QSettings::NativeFormat,利用’/’来填写要读写的注册表:

QSetings settings((“HKEY_CURRENT_USER/”, QSettings::NativeFormat);settings.setValue(“regedit/test”,”green”);//设置key-value键值对QString value = settings.value(“regedit/test”);//读取key对应的value读写ini文件#include #include int main(int argc, char *argv[]){    QApplication a(argc, argv);    QSettings settings(“E:/QTProject/BLOG/Settings_test/test.ini”, QSettings::IniFormat);    settings.setValue(“Student/name”, “ChengKeKe”);    settings.setValue(“Student/sex”, “man”);    settings.setValue(“Student/age”, 24);    settings.setValue(“Address”, “Xi’an”);    QString name = settings.value(“Student/name”).toString();    QString sex = settings.value(“Student/sex”).toString();    return a.exec();}

打开test.ini如图:

qsettings删除注册表_QSettings使用方法注: 其中注意读取Value时,如果存储值为16进制,不能使用int QVariant::toInt(bool * ok = 0) const,结果将返回0;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232319.html原文链接:https://javaforall.net

(0)
上一篇 2025年10月18日 下午7:01
下一篇 2025年10月18日 下午7:22


相关推荐

  • 国内免费镜像GPT:2025年最新最全的访问与使用指南

    国内免费镜像GPT:2025年最新最全的访问与使用指南

    2026年3月15日
    2
  • 小学语文历史重点名人以及解析大全

    小学语文历史重点名人以及解析大全【人物1】:司马光【简介】:司马光(1019~1086),北宋时期著名政治家、史学家、散文家。北宋陕州夏县涑水乡(今山西运城安邑镇东北)人,汉族。出生于河南省光山县,字君实,号迂叟,世称涑水先生。司马光自幼嗜学,尤喜《春秋左氏传》。【相关故事】司马光砸缸司马光七岁的时候稳重的就像一个大人,听到老师讲解《左氏春秋》,非常喜爱,放学之后又为家人讲他所学到的,他立即也明白了《左氏春秋》的内涵,从此手里放不下书本,甚至到了忘记了饥渴,冷热的程度。有一次,他跟小伙伴们在后院里玩耍,有个小孩爬到大

    2022年5月7日
    77
  • 修改Pycharm的terminal中python版本

    修改Pycharm的terminal中python版本修改 Pycharm 的 terminal 中 python 版本在实际写项目的过程中 会应为学习和开发而导致需要多个 python 版本的情况 但又因为一个系统只能由一个全局的 path 而这也就导致使用 python 的话就只能使用一个 python 版本 但如果想不改变全局 path 的情况下单独让 terminal 中的 python 版本变成我们开发的 python 首先 我们可以进入 setting 按照如下路径打开配置 Setting gt Tools gt terminal 找到 enviromentva 点进去之后

    2026年3月27日
    2
  • N8N+飞书+Coze打造零成本生图神器!

    N8N+飞书+Coze打造零成本生图神器!

    2026年3月15日
    1
  • java 液晶屏数字,java实现液晶数字字体显示当前时间

    java 液晶屏数字,java实现液晶数字字体显示当前时间搜索热词本文实例为大家分享了 java 实现液晶数字字体显示当前时间的具体代码 供大家参考 具体内容如下 importjava text SimpleDateFo importjava util Date publicclassT publicstatic num0 newString

    2026年3月16日
    2
  • 1-1 課程介紹、Cursor 安裝與基本設置

    1-1 課程介紹、Cursor 安裝與基本設置

    2026年3月16日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号