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中,可以使用QMap作为键值对的集合。QMap是Qt的一个模板类,它存储了键值对,并且可以通过键来快速查找值。 导入 #include <QMap> 以下是一些使用QMap的方法: 1.创建并初始化一个 QMap<int, QString> UserDepa…...
NetMQ里Push-Pull模式,消息隔一收一问题小记
问题: 本机环境下,在push端向pull端发送消息的过程中,发现同一个进程里的pusher和puller代码,可以准确地完成收发; 然而,将代码放在两个进程里,将pusher发送的消息从1计数,puller端竟…...
见微知著:Tripo 开创 3D 生成新时代
关于 VAST VAST 成⽴于 2023 年 3 ⽉,是⼀家致⼒于通⽤ 3D 大模型研发的 AI 公司,公司⽬标是通过打造⼤众级别的 3D 内容创作⼯具,建⽴ 3D 的 UGC 内容平台,让基于 3D 的空间成为⽤户体验、内容表达、提升新质⽣产⼒的关键要素。 2024 年初,VAST 推出数⼗亿参数级别的 3…...
消息队列与中间件:Java的秘密传输带
消息队列与中间件技术是分布式系统中的重要组件,它们主要解决应用耦合、异步消息处理、流量削峰等问题,并实现高性能、高可用、可伸缩和最终一致性的架构。 2.1 消息队列的基本概念 消息队列是一种应用程序间传递消息的技术,它允许应用程序发…...
Bytebase 3.1.0 - 通过 Google / GitHub SSO 功能开放给专业版
🚀 新功能 支持在 PostgreSQL DML/DDL 工单中选择执行角色。 在项目设置中增加 PostgreSQL 数据库租户模式配置选项。 在数据库页面和 SQL 编辑器为 ORACLE 数据库展示 package 元数据。 支持为环境配置颜色,方便区分。 新增管理员可关闭数据导出…...
EdgeOne安全专项实践:上传文件漏洞攻击详解与防范措施
靶场搭建 当我们考虑到攻击他人服务器属于违法行为时,我们需要思考如何更好地保护我们自己的服务器。为了测试和学习,我们可以搭建一个专门的靶场来模拟文件上传漏洞攻击。以下是我搭建靶场的环境和一些参考资料,供大家学习和参考࿰…...
k8s部署rocketmq踩坑笔记
给团队部署一个rocketmq4.8.0. k8s上部署的broker,注册到nameserver上是自己的pod ip,导致本机连接到的broker的pod ip,这个ip k8s集群外的机器是无法联通的。 nameserver上注册的是这个pod ipv4 尝试将broker的配置brokerIP1修改为注册到na…...
Docker 通过创建Dockerfile 部署Jar包
1、创建Dockerfile 首先确保centos 安装docker,参考docker安装-CSDN博客 自己找个目录来存放Dockerfile mkdir Dockerfile 2、vim Dockerfile # 使用 OpenJDK 17 基础镜像 FROM jre17:v1.0# 设置工作目录 WORKDIR /app# 暴露端口 EXPOSE 8093# 设置容器内日志目录…...
shell脚本练习
题目 1、编写一个shell 脚本,检测 /tmp/size.log 文件。如果存在,显示它的内容;不存在则创建一个文件,将创建时间写入。 2、编写一个shell 脚本,实现批量添加 20个用户,用户名为user1-20,密码为user 后面跟…...
【计算机网络】lab4 Ipv4(IPV4的研究)
🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀计算机网络_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2.…...
Python Json格式数据处理
示例:查看和编辑 JSON 文件的 Python 程序 import json from pprint import pprintdef load_json(file_path):"""加载并解析 JSON 文件。:param file_path: JSON 文件路径:return: 解析后的 JSON 对象(字典或列表)"&quo…...
【声音场景分类--论文阅读】
1.基于小波时频图特征在声音场景分类 基于小波时频图特征在声音场景分类任务中的表现 2.增强增强高效音频分类网络 https://arxiv.org/pdf/2204.11479v5 https://github.com/Alibaba-MIIL/AudioClassfication 音频分类网络如图4所示。在此阶段,主要重点是建立一…...
Web前端界面开发
前沿:介绍自适应和响应式布局 自适应布局:-----针对页面1个像素的变换而变化 就是我们上一个练习的效果 我们的页面效果,随着我们的屏幕大小而发生适配的效果(类似等比例) 如: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实验(Access Control List访问控制列表)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。访问控制列表被广泛地应用于路由器和三层交换机。 准备工作 在eNSP里面部署设备&a…...
STM32 I2C硬件配置库函数
单片机学习! 目录 前言 一、I2C_DeInit函数 二、I2C_Init函数 三、I2C_StructInit函数 四、I2C_Cmd函数 五、I2C_GenerateSTART函数 六、I2C_GenerateSTOP函数 七、I2C_AcknowledgeConfig函数 八、I2C_SendData函数 九、I2C_ReceiveData函数 十、I2C_Sen…...
特制一个自己的UI库,只用CSS、图标、emoji图 第二版
图: 代码: 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 是 阿里云 提供的一款 实时数据分析平台,它结合了数据仓库(Data Warehouse)和流式计算(Stream Processing)的优势,专为大规模数据分析和实时数据处理而设计。Hologres 基于 PostgreSQL 构建&#…...
oracle闪回表
文章目录 闪回表案例1:(未清理回收站时的闪回表--成功)案例2(清理回收站时的闪回表--失败)案例3:彻底删除表(不经过回收站--失败)案例4:闪回表之后重新命名新表总结1、删…...
蓝桥与力扣刷题(283 移动零)
题目:给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。 请注意 ,必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12] 输出: [1,3,12,0,0]示例 2: 输入: …...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
10-Oracle 23 ai Vector Search 概述和参数
一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI,使用客户端或是内部自己搭建集成大模型的终端,加速与大型语言模型(LLM)的结合,同时使用检索增强生成(Retrieval Augmented Generation &#…...
