QUUID 使用详解

UUID 通常由 128 位(16 字节)组成,通常表示为 32 个十六进制数字,分为五个部分,格式如下:

QUuid 是 Qt 框架中用于生成和处理 UUID(通用唯一标识符)的类。UUID 是一种标准的标识符格式,通常用于唯一标识信息或对象。以下是 QUuid 的原理和相关概念:

UUID 通常由 128 位(16 字节)组成,通常表示为 32 个十六进制数字,分为五个部分,格式如下:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

其中:

  • 前 8 位:时间低位
  • 接下来的 4 位:时间中位
  • 接下来的 4 位:时间高位和版本
  • 接下来的 4 位:时钟序列和保留位
  • 最后 12 位:节点(通常是 MAC 地址)

UUID 的版本

UUID 有多个版本,最常用的版本包括:

  • 版本 1:基于时间和节点(通常是 MAC 地址)生成。
  • 版本 3:基于命名空间和 MD5 哈希生成。
  • 版本 4:随机生成,通常使用随机数生成器。
  • 版本 5:基于命名空间和 SHA-1 哈希生成。

QUuid 的实现

在 Qt 中,QUuid 提供了以下功能:

  • 生成 UUID:使用 createUuid() 方法生成一个新的 UUID。默认情况下,Qt 使用版本 4(随机生成)来创建 UUID。
  • 转换:可以将 UUID 转换为字符串表示形式(带大括号)或从字符串解析为 UUID。
  • 比较:可以比较两个 UUID 是否相等。
  • 操作:提供了一些方法来处理 UUID,例如获取其字节表示。

 

转载请附上文章出处与本文链接。

QUUID 使用详解目录

1 代码

2 .h

3 .cpp

4 其它文章


1 代码

	// 生成一个唯一的IDQUuid uuid = QUuid::createUuid();// 将ID转换为字符串QString uuidString = uuid.toString();// 去掉大括号uuidString.remove(QChar('{'));uuidString.remove(QChar('}'));QDateTime currentDateTime = QDateTime::currentDateTime();QString formattedString = currentDateTime.toString("yyyyMMddHHmm");qDebug() << formattedString + uuidString;
202410092345dd3681d7-6458-439b-b668-5c2f607ba483

2 .h

#pragma once#include <QtWidgets/QMainWindow>
#include "ui_QUid.h"#include <QDebug>
#include <QUuid>
#include <QDateTime>class QUid : public QMainWindow
{Q_OBJECTpublic:QUid(QWidget *parent = nullptr);~QUid();private:Ui::QUidClass ui;
};

3 .cpp

#include "QUid.h"QUid::QUid(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);// 生成一个唯一的IDQUuid uuid = QUuid::createUuid();// 将ID转换为字符串QString uuidString = uuid.toString();// 去掉大括号uuidString.remove(QChar('{'));uuidString.remove(QChar('}'));QDateTime currentDateTime = QDateTime::currentDateTime();QString formattedString = currentDateTime.toString("yyyyMMddHHmm");qDebug() << formattedString + uuidString;
}QUid::~QUid()
{}

4 其它文章

QDateTime 使用详解-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/55818.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sklearn机器学习实战——随机森林回归与特征重要性分析全过程(附完整代码和结果图)

sklearn机器学习实战——随机森林回归与特征重要性分析全过程&#xff08;附完整代码和结果图&#xff09; 关于作者 作者&#xff1a;小白熊 作者简介&#xff1a;精通python、matlab、c#语言&#xff0c;擅长机器学习&#xff0c;深度学习&#xff0c;机器视觉&#xff0c;目…

Oracle 12201非PDBS模式单机部署(静默安装)

一、创建Oracle数据库的用户 groupadd oinstall groupadd dba groupadd asmadmin groupadd asmdba useradd -g oinstall -G dba,asmdba oracle -d /home/oracle passwd oracle二、配置Linux 服务器参数 cat /home/oracle/.bash_profile export ORACLE_HOSTNAMEH_orcle01 expo…

知识图谱入门——7:阶段案例:使用 Protégé、Jupyter Notebook 中的 spaCy 和 Neo4j Desktop 搭建知识图谱

在 Windows 环境中结合使用 Protg、Jupyter Notebook 中的 spaCy 和 Neo4j Desktop&#xff0c;可以高效地实现从自然语言处理&#xff08;NLP&#xff09;到知识图谱构建的全过程。本案例将详细论述环境配置、步骤实现以及一些扩展和不足之处。 源文件已上传我的资源区。 文章…

【VScode】如何使用详细步骤【笔记】、配置 C / C ++【笔记】

2024 - 10 - 10 - 笔记 - 24 作者(Author)&#xff1a;郑龙浩(仟濹) 该笔记写于 2024-07-02 摘抄到博客上的时间是 2024-10-10 VScode配置 C / C 笔记 我是看了下方链接的视频后为了方便后期复习做的笔记: B站某UP主的视频如下&#xff1a; VScode配置C/C开发环境&#xff…

DevExpress WPF中文教程:如何解决数据更新的常见问题?

DevExpress WPF拥有120个控件和库&#xff0c;将帮助您交付满足甚至超出企业需求的高性能业务应用程序。通过DevExpress WPF能创建有着强大互动功能的XAML基础应用程序&#xff0c;这些应用程序专注于当代客户的需求和构建未来新一代支持触摸的解决方案。 无论是Office办公软件…

使用docsify搭建github pages页面

文章目录 初始化相关配置index.htmlreadme.md_sidebar.md docsify 可以快速帮你生成文档网站。不同于 GitBook、Hexo 的地方是它不会生成静态的 .html 文件&#xff0c; 所有转换工作都是在运行时。如果你想要开始使用它&#xff0c;只需要创建一个 index.html 就可以开始编写文…

机器学习与神经网络:新时代的科学革命与物理学的融合

方向一&#xff1a;机器学习与神经网络的发展前景 引言 在21世纪的科技浪潮中&#xff0c;机器学习与神经网络无疑是最为耀眼的明星之一。它们不仅在学术界引发了广泛的研究热潮&#xff0c;更在商业、医疗、金融等多个领域展现出了巨大的应用潜力。2024年诺贝尔物理学奖的颁…

VMware桥接模式无法连接网络

windows下打开控制面板&#xff0c;找到WLAN&#xff0c;记住下面的名称&#xff08;带有VMware的都是虚拟机的网卡&#xff0c;要找到物理主机的网卡&#xff09; 回到VMware&#xff0c;编辑——打开虚拟网络编辑器 桥接选择上面的WLAN下的网络名称&#xff0c;确定即可。&…

需求9——通过一个小需求来体会service层的作用

昨天在完成了睿哥的需求验收之后&#xff0c;暂时没有其他任务&#xff0c;因此今天可能会比较有空闲时间。趁着这个机会&#xff0c;我打算把之前完成的一些需求进行总结&#xff0c;方便以后复习和参考。 在8月份的时候&#xff0c;我负责了一个需求&#xff0c;该需求的具体…

苏宁商品详情接口技术解析与实战代码示例

引言 苏宁作为国内领先的电商平台&#xff0c;为商家和消费者提供了丰富的商品信息和便捷的购物体验。对于开发者而言&#xff0c;苏宁提供的商品详情接口是获取商品详细信息的重要工具。通过调用该接口&#xff0c;开发者可以获取商品的标题、价格、库存、图片等关键信息&…

基于xml配置文件的Spring事务

在项目中对事务属性通常传播属性&#xff0c;回滚属性&#xff0c;隔离级别&#xff0c;超时属性都取默认值&#xff0c;只有只读属性会如下的配置&#xff1a; 什么意思&#xff1a;Service层你的类里的方法&#xff0c;以get&#xff0c;find&#xff0c;select等开头的方法是…

Robust多模态模型的开发

本文所涉及所有资源均在 传知代码平台 可获取。 目录 Robust 多模态模型&#xff1a;寻找遗失的模态&#xff01; 一、研究背景 二、模型结构和代码 三、数据集介绍 六、性能展示 六、实现过程 七、运行过程 Robust 多模态模型&#xff1a;寻找遗失的模态&#xff01; 近年来&a…

threejs-基础材质设置

一、介绍 主要内容&#xff1a;基础材质(贴图、高光、透明、环境、光照、环境遮蔽贴图) 主要属性&#xff1a; side: three.DoubleSide, //设置双面 color: 0xffffff, //颜色 map: texture, //纹理 transparent: true, // 透明度 aoMap: aoTexture, //ao贴图 aoMapIntensity: 1…

Linux下载安装MySQL8.4

这里写目录标题 一、准备工作查看系统环境查看系统架构卸载已安装的版本 二、下载MySQL安装包官网地址 三、安装过程上传到服务器目录解压缩&#xff0c;设置目录及权限配置my.cnf文件初始化数据库配置MySQL开放端口 一、准备工作 查看系统环境 确认Linux系统的版本和架构&am…

Redis: 集群高可用之故障转移和集群迁移

故障转移 故障转移&#xff0c;包括自动故障转移和手动故障转移 1 &#xff09;自动故障转移 Redis 集群&#xff0c;主节点挂了&#xff0c;从节点可以顶上来继续提供服务常用制造故障的两种方式 第一&#xff0c;对其中一个节点进行 SHUTDOWN 操作第二&#xff0c;kill 掉…

Java之方法

方法&#xff08;函数&#xff09; Java中的方法必须定义在类或接口中。 package day2;import java.util.Scanner;public class way {public static void main(String[] args) {int arr[] new int[5];Scanner sc new Scanner(System.in);for (int i 0; i < arr.length;…

五、创建型(建造者模式)

建造者模式 概念 建造者模式是一种创建型设计模式&#xff0c;通过使用多个简单的对象一步步构建一个复杂的对象。它将一个复杂对象的构建过程与其表示分离&#xff0c;从而使同样的构建过程可以创建不同的表示。 应用场景 复杂对象构建&#xff1a;当一个对象有多个属性&…

vue2项目的路由使用history模式,刷新会导致页面404的问题

在vue2项目中&#xff0c;如果我们使用的路由是history模式&#xff0c;刷新会导致页面404&#xff0c;解决方法很简单&#xff0c;在vue.config.js文件中的devServer下增加historyApiFallback: true; 代码如下: module.exports {devServer: {historyApiFallback: true,} }

【js逆向学习】极志愿 javascript+python+rpc

JSRPC使用方式 逆向目标逆向过程逆向分析1、什么是 websocket2、websocket的原理3、总体过程3.1 环境说明3.2 python服务端代码3.3 python客户端代码 4、Sekiro-RPC4.1 执行方式4.2 客户端环境4.3 参数说明4.4 SK API4.5 python代码调试4.6 代码注入流程 逆向总结 逆向目标 网…

AI资深导师指导-ChatGPT深度科研工作应用、论文撰写、数据分析及机器学习与AI绘图

2022年11月30日&#xff0c;可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5&#xff0c;将人工智能的发展推向了一个新的高度。2023年4月&#xff0c;更强版本的ChatGPT4.0上线&#xff0c;文本、语音、图像等多模态交互方式使其在…