当前位置: 首页 > news >正文

qt 简单实验 读取json格式的配置文件

1.概要

2.代码

 

//#include "mainwindow.h"#include <QApplication>
#include <QFile>
#include <QJsonDocument>
#include <QJsonObject>
#include <QDebug>
//读取json数据的配置文件QJsonObject readJsonConfigFile(const QString &fileName) {QFile file(fileName);if (!file.open(QIODevice::ReadOnly | QIODevice::Text))return QJsonObject(); // 返回空对象或处理错误// 读取文件内容QByteArray jsonData = file.readAll();QJsonParseError jsonError;QJsonDocument jsonDoc = QJsonDocument::fromJson(jsonData, &jsonError);// 检查 JSON 解析是否成功if (jsonError.error != QJsonParseError::NoError) {qDebug() << "JSON 解析错误:" << jsonError.errorString();return QJsonObject(); // 返回空对象或处理错误}// 假设顶层是一个 QJsonObjectreturn jsonDoc.object();
}// 使用示例
void useJsonConfigFile(const QString &fileName) {QJsonObject jsonObject = readJsonConfigFile(fileName);if (!jsonObject.isEmpty()) {QJsonObject userObject = jsonObject["user"].toObject();QString name = userObject["name"].toString();int age = userObject["age"].toInt();qDebug() << "Name:" << name << ", Age:" << age;}
}int main(int argc, char *argv[])
{QApplication a(argc, argv);QString fileName="test.txt";useJsonConfigFile(fileName);return a.exec();
}

3.运行结果

 

相关文章:

qt 简单实验 读取json格式的配置文件

1.概要 2.代码 //#include "mainwindow.h"#include <QApplication> #include <QFile> #include <QJsonDocument> #include <QJsonObject> #include <QDebug> //读取json数据的配置文件QJsonObject readJsonConfigFile(const QString …...

Docker常用命令与实战示例

docker 1. 安装2. 常用命令3. 存储4. 网络5. redis主从复制示例6. wordpress示例7. DockerFile8. 一键安装超多中间件&#xff08;compose&#xff09; 1. 安装 以centOS系统为例 # 移除旧版本docker sudo yum remove docker \docker-client \docker-client-latest \docker-c…...

数据结构(基础知识)

基础概念&#xff1a; 数据&#xff1a;数据是信息的载体&#xff0c;是描述客观事物属性的数&#xff0c;字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合 数据元素&#xff1a;是数据的基本单位&#xff0c;在程序中常作为一个整体来考虑 数据对象&#…...

计算机网络:网络层 - 路由选择协议

计算机网络&#xff1a;网络层 - 路由选择协议 路由器的结构路由选择协议概述自治系统 AS内部网关协议路由信息协议 RIP距离向量算法RIP报文格式收敛问题 开放最短路径优先 OSPF基本工作原理自治系统分区 外部网关协议BGP-4 路由器的结构 如图所示&#xff0c;路由器被分为路由…...

JupyterLab使用指南(六):JupyterLab的 Widget 控件

1. 什么是 Widget 控件 JupyterLab 中的 Widget 控件是一种交互式的小部件&#xff0c;可以用于创建动态的、响应用户输入的界面。通过使用 ipywidgets 库&#xff0c;用户可以在 Jupyter notebook 中创建滑块、按钮、文本框、选择器等控件&#xff0c;从而实现数据的交互式展…...

OpenCV 特征点检测与匹配

一 OpenCV特征场景 ①图像搜索&#xff0c;如以图搜图&#xff1b; ②拼图游戏&#xff1b; ③图像拼接&#xff0c;将两长有关联得图拼接到一起&#xff1b; 1 拼图方法 寻找特征 特征是唯一的 可追踪的 能比较的 二 角点 在特征中最重要的是角点 灰度剃度的最大值对应的…...

css布局之flex应用

/*父 100*/.parent-div {/* 这里添加你想要的属性 */display: flex;flex-direction: row; //行justify-content: space-between; //左右对齐align-items: center;flex-wrap: wrap; //换行}/*中 90 10 */.middle-div {/* 这里添加你想要的属性 */display: flex;flex-direction:…...

树莓派4B设置AP热点步骤

树莓派4B设置AP热点步骤&#xff1a;先进入root模式 预先进行apt-get update 第1步&#xff1a;安装network-manager ​sudo apt-get install network-manager第2步&#xff1a;安装git apt-get install git apt-get install util-linux procps hostapd iproute2 iw haveged …...

Java程序之百鸡百钱问题

题目&#xff1a; 百钱买百鸡的问题算是一套非常经典的不定方程的问题&#xff0c;题目很简单&#xff1a;公鸡5文钱一只&#xff0c;母鸡3文钱一只&#xff0c;小鸡3只一文钱&#xff0c;用100文钱买一百只鸡,其中公鸡&#xff0c;母鸡&#xff0c;小鸡都必须要有&#xff0c;…...

Mybatis——动态sql

if标签 用于判断条件是否成立。使用test属性进行条件判断&#xff0c;如果条件为true&#xff0c;则拼接sql。 <where>标签用于识别语句是否需要连接词and&#xff0c;识别sql语句。 package com.t0.maybatisc.mapper;import com.t0.maybatisc.pojo.Emp; import org.a…...

可视化大屏开发系列——页面布局

页面布局是可视化大屏的基础&#xff0c;想要拥有一个基本美观的大屏&#xff0c;就得考虑页面整体模块的宽高自适应&#xff0c;我们自然就会想到具有强大灵活性flex布局&#xff0c;再借助百分比布局来辅助。至此&#xff0c;大屏页面布局问题即可得到解决。 可视化大屏开发系…...

Python statistics 模块

Python 的 statistics 模块提供了一组用于执行各种统计计算的函数&#xff0c;包括平均值、中位数、标准差、方差以及其他统计量。让我来简单介绍一下。 首先&#xff0c;你可以使用以下方式导入 statistics 模块&#xff1a; python import statistics 接下来&#xff0c;…...

wireshark常见使用表达式

目录 1. 捕获过滤器 (Capture Filters)基本捕获过滤器组合捕获过滤器 2. 显示过滤器 (Display Filters)基本显示过滤器复杂显示过滤器协议特定显示过滤器 3. 进阶显示过滤器技巧使用函数和操作符逻辑操作符 4. 常见网络协议过滤表达式示例HTTP 协议HTTPS 协议DNS 协议DHCP 协议…...

用Java获取键盘输入数的个十百位数

这段Java代码是一个简单的程序&#xff0c;用于接收用户输入的一个三位数&#xff0c;并将其分解为个位、十位和百位数字&#xff0c;然后分别打印出来。下面是代码的详细解释&#xff1a; 导入所需类库: import java.util.Scanner;&#xff1a;导入Scanner类&#xff0c;用于从…...

第10章 启动过程组 (制定项目章程)

第10章 启动过程组 9.1制定项目章程&#xff0c;在第三版教材第356~360页&#xff1b; 文字图片音频方式 视频12 第一个知识点&#xff1a;主要输出 1、项目章程&#xff08;重要知识点&#xff09; 项目目的 为了稳定与发展公司的客户群(抽象&#xff0c;非具体) 可测量的项目…...

html侧导航栏客服栏

ico 替换 ICO <html xmlns"http://www.w3.org/1999/xhtml"><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8"><title>返回顶部</title><script src"js/jquery-2.0.3.min.js"…...

Clonable接口和拷贝

Hello~小伙伴们&#xff01;本篇学习Clonable接口与深拷贝&#xff0c;一起往下看吧~(画图水平有限&#xff0c;两张图&#xff0c;&#xff0c;我真的画了巨久&#xff0c;求路过的朋友来个3连~阿阿阿~~~) 目录 1、Clonable接口概念 2、拷贝 2、1浅拷贝 2、2深拷贝 1、Clon…...

关于小蛋の编程和小蛋编程为同一作者的说明

小蛋の编程和小蛋编程的作品为同一人制作&#xff0c;因前者为父母的手机号进行注册&#xff0c;现用本人手机号注册了新账号小蛋编程&#xff0c;后续文章将在新账号小蛋编程上进行刊登&#xff0c;同时在小蛋编程上对原账号文章进行转载。此账号不再发布帖子&#xff0c;请大…...

大数据平台之Spark

Apache Spark 是一个开源的分布式计算系统&#xff0c;主要用于大规模数据处理和分析。它由UC Berkeley AMPLab开发&#xff0c;并由Apache Software Foundation维护。Spark旨在提供比Hadoop MapReduce更快的处理速度和更丰富的功能&#xff0c;特别是在处理迭代算法和交互式数…...

How to use ModelSim

How to use ModelSim These are all written by a robot Remember, you can only simulate tb files....

命令行集成AI代码审查:基于Gemini的Git工作流自动化实践

1. 项目概述&#xff1a;当命令行遇上代码审查在开发者的日常工作中&#xff0c;代码审查是保证代码质量、促进知识共享的关键环节。然而&#xff0c;传统的代码审查流程往往伴随着频繁的上下文切换&#xff1a;你需要离开终端&#xff0c;打开浏览器&#xff0c;登录代码托管平…...

OpenDAN个人AI操作系统:从零构建智能体协作框架

1. 项目概述&#xff1a;个人AI操作系统的诞生与愿景最近在GitHub上看到一个项目&#xff0c;叫“OpenDAN-Personal-AI-OS”&#xff0c;第一眼看到这个标题&#xff0c;我就被吸引住了。作为一个在软件开发和AI应用领域摸爬滚打了十多年的从业者&#xff0c;我见过太多“AI助手…...

基于CircuitPython与YouTube API的智能直播状态指示器制作指南

1. 项目概述与核心价值 如果你是一个内容创作者&#xff0c;或者你关注的某个频道正在直播&#xff0c;一个醒目、酷炫的“ON AIR”指示灯绝对能瞬间提升氛围感。今天要聊的这个项目&#xff0c;就是基于CircuitPython和YouTube API&#xff0c;自己动手打造一个能自动感知直播…...

西安小程序制作优质服务推荐

在西安&#xff0c;小程序制作已成为众多企业实现数字化转型的核心一步。企业在这个领域的选择尤为重要&#xff0c;因为市场上的服务供应商数量庞大、难以判断其服务质量。因此专业背景、以往案例以及客户评价&#xff0c;这些都能够反映出公司的整体实力。还有&#xff0c;成…...

Web架构师工具箱:从工程化实践到现代化Web开发全流程

1. 项目概述&#xff1a;一个Web架构师的工具箱最近在GitHub上看到一个挺有意思的项目&#xff0c;叫choppawave-beep/web-architect。光看这个名字&#xff0c;你可能会有点摸不着头脑&#xff0c;choppawave-beep像是个用户名&#xff0c;而web-architect则直白地指向“Web架…...

5.【Python】Python3 运算符

第一步&#xff1a;分析与整理 运算符1. 什么是运算符&#xff1f; 运算符用于执行算术、比较、逻辑等操作。操作数是参与运算的值。例如 4 5 9 中&#xff0c;4 和 5 是操作数&#xff0c; 是运算符。 Python 支持以下运算符类型&#xff1a; 算术运算符比较&#xff08;关系…...

MultiFunPlayer终极指南:5分钟掌握开源设备同步软件,打造沉浸式娱乐体验

MultiFunPlayer终极指南&#xff1a;5分钟掌握开源设备同步软件&#xff0c;打造沉浸式娱乐体验 【免费下载链接】MultiFunPlayer flexible application to synchronize various devices with media playback 项目地址: https://gitcode.com/gh_mirrors/mu/MultiFunPlayer …...

卡片刷新三板斧:定时、定点、主动请求——搞清楚才不会乱

文章目录先搞明白谁在控制刷新方式一&#xff1a;定时刷新&#xff08;updateDuration&#xff09;方式二&#xff1a;定点刷新&#xff08;scheduledUpdateTime&#xff09;方式三&#xff1a;主动请求刷新&#xff08;formHost.requestForm&#xff09;三种方式对比卡片 UI 接…...

基于STM32的物联网健康监测平台:硬件设计、驱动开发与系统整合

1. 项目概述&#xff1a;一个面向物联网健康监测的STM32开发平台最近在整理手头的项目资料&#xff0c;翻出来一块几年前自己设计并打样的STM32开发板。这块板子当初的定位很明确&#xff0c;就是做一个功能集成度高的“物联网健康监测终端”原型平台。它不是那种追求极致性能的…...

OpenWrt防火墙深度解析:从区域模型到多网络隔离实战

1. 项目概述&#xff1a;从“看门人”到“交通警察”如果你玩过OpenWrt&#xff0c;或者任何软路由系统&#xff0c;那你一定对“防火墙”这个词不陌生。在大多数人的第一印象里&#xff0c;它就是个“看门人”——决定哪些数据包能进&#xff0c;哪些不能进。这个理解没错&…...