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

QT 键值对集合QMap

在QT中,可以使用QMap作为键值对的集合。QMap是Qt的一个模板类,它存储了键值对,并且可以通过键来快速查找值。

导入

#include <QMap>

以下是一些使用QMap的方法:

1.创建并初始化一个

QMap<int, QString> UserDepartmentList;
UserDepartmentList[0]="--请选择--";UserDepartmentList[10]="计算机系";UserDepartmentList[11]="电子系";UserDepartmentList[12]="历史系";UserDepartmentList[13]="中文系";

2.插入数据

UserDepartmentList.insert(1, "音乐系");
UserDepartmentList.insert(2, "体育系");
UserDepartmentList.insert(3, "化学系");

3.移除数据

UserDepartmentList.remove(1); // 移除键为 1 的项

4.遍历数据

//初始化 部门 下拉列表数据QMap<int,QString> departmentList = CommonData::GetInstance()->UserDepartmentList;for(auto item = departmentList.begin(); item != departmentList.end(); ++item){//qDebug() << "Key:" << item.key() << "Value:" << item.value();ui->cbo_Department->addItem(item.value());//添加下拉选项}ui->cbo_Department->setCurrentIndex(0);//设置默认选择索引

4.1 使用keys方法和values方法分别获取所有的键和值:

QList<int> keys = UserDepartmentList.keys();
QList<QString> values = UserDepartmentList.values();

5.使用value方法获取键对应的值:

QString value = UserDepartmentList.value(2);

由值找键

int key = -1;
QString value = "化学系";
for (auto it = UserDepartmentList.begin(); it != UserDepartmentList.end(); ++it) {if (it.value() == value ) {key = it.key();break;}
}

6.使用contains方法检查是否包含某个键:

if (UserDepartmentList.contains(2)) {// UserDepartmentList包含键2
}

7.使用remove方法删除键值对:

UserDepartmentList.remove(3); // 删除键为3的键值对

8.使用size方法获取键值对的数量:

int size = UserDepartmentList.size();

9.修改键值

UserDepartmentList[10]="计算机系";

10.清除数据

UserDepartmentList.clear();

11.一个键对应多个值

QMultiMap<int, QString> multiMap;
multiMap.insert(1, "A");
multiMap.insert(1, "B");
multiMap.insert(2, "C");// 遍历 QMultiMap 数据
for (auto it = multiMap.begin(); it != multiMap.end(); ++it) {qDebug() << "Key:" << it.key() << "Value:" << it.value();
}// 获取所有值为某键的列表
QList<QString> valuesForKey = multiMap.values(1);
qDebug() << "Values for key 1:" << valuesForKey;

遍历数据

for (auto it = multiMap.begin(); it != multiMap.end(); ++it) {qDebug() << "Key:" << it.key() << "Value:" << it.value();
}

相关文章:

QT 键值对集合QMap

在QT中&#xff0c;可以使用QMap作为键值对的集合。QMap是Qt的一个模板类&#xff0c;它存储了键值对&#xff0c;并且可以通过键来快速查找值。 导入 #include <QMap> 以下是一些使用QMap的方法&#xff1a; 1.创建并初始化一个 QMap<int, QString> UserDepa…...

NetMQ里Push-Pull模式,消息隔一收一问题小记

问题&#xff1a; 本机环境下&#xff0c;在push端向pull端发送消息的过程中&#xff0c;发现同一个进程里的pusher和puller代码&#xff0c;可以准确地完成收发&#xff1b; 然而&#xff0c;将代码放在两个进程里&#xff0c;将pusher发送的消息从1计数&#xff0c;puller端竟…...

见微知著:Tripo 开创 3D 生成新时代

关于 VAST VAST 成⽴于 2023 年 3 ⽉,是⼀家致⼒于通⽤ 3D 大模型研发的 AI 公司,公司⽬标是通过打造⼤众级别的 3D 内容创作⼯具,建⽴ 3D 的 UGC 内容平台,让基于 3D 的空间成为⽤户体验、内容表达、提升新质⽣产⼒的关键要素。 2024 年初,VAST 推出数⼗亿参数级别的 3…...

消息队列与中间件:Java的秘密传输带

消息队列与中间件技术是分布式系统中的重要组件&#xff0c;它们主要解决应用耦合、异步消息处理、流量削峰等问题&#xff0c;并实现高性能、高可用、可伸缩和最终一致性的架构。 2.1 消息队列的基本概念 消息队列是一种应用程序间传递消息的技术&#xff0c;它允许应用程序发…...

Bytebase 3.1.0 - 通过 Google / GitHub SSO 功能开放给专业版

&#x1f680; 新功能 支持在 PostgreSQL DML/DDL 工单中选择执行角色。 在项目设置中增加 PostgreSQL 数据库租户模式配置选项。 在数据库页面和 SQL 编辑器为 ORACLE 数据库展示 package 元数据。 支持为环境配置颜色&#xff0c;方便区分。 新增管理员可关闭数据导出…...

EdgeOne安全专项实践:上传文件漏洞攻击详解与防范措施

靶场搭建 当我们考虑到攻击他人服务器属于违法行为时&#xff0c;我们需要思考如何更好地保护我们自己的服务器。为了测试和学习&#xff0c;我们可以搭建一个专门的靶场来模拟文件上传漏洞攻击。以下是我搭建靶场的环境和一些参考资料&#xff0c;供大家学习和参考&#xff0…...

k8s部署rocketmq踩坑笔记

给团队部署一个rocketmq4.8.0. k8s上部署的broker&#xff0c;注册到nameserver上是自己的pod ip&#xff0c;导致本机连接到的broker的pod ip&#xff0c;这个ip k8s集群外的机器是无法联通的。 nameserver上注册的是这个pod ipv4 尝试将broker的配置brokerIP1修改为注册到na…...

Docker 通过创建Dockerfile 部署Jar包

1、创建Dockerfile 首先确保centos 安装docker&#xff0c;参考docker安装-CSDN博客 自己找个目录来存放Dockerfile mkdir Dockerfile 2、vim Dockerfile # 使用 OpenJDK 17 基础镜像 FROM jre17:v1.0# 设置工作目录 WORKDIR /app# 暴露端口 EXPOSE 8093# 设置容器内日志目录…...

shell脚本练习

题目 1、编写一个shell 脚本&#xff0c;检测 /tmp/size.log 文件。如果存在&#xff0c;显示它的内容&#xff1b;不存在则创建一个文件&#xff0c;将创建时间写入。 2、编写一个shell 脚本,实现批量添加 20个用户&#xff0c;用户名为user1-20&#xff0c;密码为user 后面跟…...

【计算机网络】lab4 Ipv4(IPV4的研究)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;计算机网络_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2.…...

Python Json格式数据处理

示例&#xff1a;查看和编辑 JSON 文件的 Python 程序 import json from pprint import pprintdef load_json(file_path):"""加载并解析 JSON 文件。:param file_path: JSON 文件路径:return: 解析后的 JSON 对象&#xff08;字典或列表&#xff09;"&quo…...

【声音场景分类--论文阅读】

1.基于小波时频图特征在声音场景分类 基于小波时频图特征在声音场景分类任务中的表现 2.增强增强高效音频分类网络 https://arxiv.org/pdf/2204.11479v5 https://github.com/Alibaba-MIIL/AudioClassfication 音频分类网络如图4所示。在此阶段&#xff0c;主要重点是建立一…...

Web前端界面开发

前沿&#xff1a;介绍自适应和响应式布局 自适应布局&#xff1a;-----针对页面1个像素的变换而变化 就是我们上一个练习的效果 我们的页面效果&#xff0c;随着我们的屏幕大小而发生适配的效果&#xff08;类似等比例&#xff09; 如&#xff1a;rem适配 和 vw/vh适配 …...

模式识别与机器学习

文章目录 考试题型零、简介1.自学内容(1)机器学习(2)机器学习和统计学中常见的流程(3)导数 vs 梯度(4)KL散度(5)凸优化问题 2.基本概念3.典型的机器学习系统4.前沿研究方向举例 一、逻辑回归1.线性回归2.逻辑回归3.随堂练习 二、贝叶斯学习基础1.贝叶斯公式2.贝叶斯决策3.分类器…...

eNSP之家----ACL实验入门实例详解(Access Control List访问控制列表)(重要重要重要的事说三遍)

ACL实验&#xff08;Access Control List访问控制列表&#xff09;是一种基于包过滤的访问控制技术&#xff0c;它可以根据设定的条件对接口上的数据包进行过滤&#xff0c;允许其通过或丢弃。访问控制列表被广泛地应用于路由器和三层交换机。 准备工作 在eNSP里面部署设备&a…...

STM32 I2C硬件配置库函数

单片机学习&#xff01; 目录 前言 一、I2C_DeInit函数 二、I2C_Init函数 三、I2C_StructInit函数 四、I2C_Cmd函数 五、I2C_GenerateSTART函数 六、I2C_GenerateSTOP函数 七、I2C_AcknowledgeConfig函数 八、I2C_SendData函数 九、I2C_ReceiveData函数 十、I2C_Sen…...

特制一个自己的UI库,只用CSS、图标、emoji图 第二版

图&#xff1a; 代码&#xff1a; index.html <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>M…...

Hologres 介绍

Hologres 是 阿里云 提供的一款 实时数据分析平台&#xff0c;它结合了数据仓库&#xff08;Data Warehouse&#xff09;和流式计算&#xff08;Stream Processing&#xff09;的优势&#xff0c;专为大规模数据分析和实时数据处理而设计。Hologres 基于 PostgreSQL 构建&#…...

oracle闪回表

文章目录 闪回表案例1&#xff1a;&#xff08;未清理回收站时的闪回表--成功&#xff09;案例2&#xff08;清理回收站时的闪回表--失败&#xff09;案例3&#xff1a;彻底删除表&#xff08;不经过回收站--失败&#xff09;案例4&#xff1a;闪回表之后重新命名新表总结1、删…...

蓝桥与力扣刷题(283 移动零)

题目&#xff1a;给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]示例 2: 输入: …...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文&#xff5c;魏琳华 编&#xff5c;王一粟 一场大会&#xff0c;聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中&#xff0c;汇集了学界、创业公司和大厂等三方的热门选手&#xff0c;关于多模态的集中讨论达到了前所未有的热度。其中&#xff0c;…...

大话软工笔记—需求分析概述

需求分析&#xff0c;就是要对需求调研收集到的资料信息逐个地进行拆分、研究&#xff0c;从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要&#xff0c;后续设计的依据主要来自于需求分析的成果&#xff0c;包括: 项目的目的…...

Spark 之 入门讲解详细版(1)

1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室&#xff08;Algorithms, Machines, and People Lab&#xff09;开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目&#xff0c;8个月后成为Apache顶级项目&#xff0c;速度之快足见过人之处&…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

Android15默认授权浮窗权限

我们经常有那种需求&#xff0c;客户需要定制的apk集成在ROM中&#xff0c;并且默认授予其【显示在其他应用的上层】权限&#xff0c;也就是我们常说的浮窗权限&#xff0c;那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...