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

Qt实现二维码生成和识别

一、简介

QZxing开源库: 生成和识别条码和二维码
下载地址:https://gitcode.com/mirrors/ftylitak/qzxing/tree/master

二、编译与使用

1.下载并解压,解压之后如图所示
在这里插入图片描述2.编译
打开src目录下的QZXing.pro,选择合适的编译器进行编译
在这里插入图片描述最后生成库libQZXing3.a和QZXing3.dll 库
三、编写demo测试二维码生成和识别
除了上述两个库,还需要源码中的两个头文件
在这里插入图片描述1、在pro包含库和头文件

INCLUDEPATH +=$$PWD/qzxing/include
LIBS +=$$PWD/qzxing/libQZXing3.a# 使用生成二维码功能需要加这一句
DEFINES += ENABLE_ENCODER_GENERIC

2、生成二维码程序

QString text = ui->lineEdit->text();if(text.isEmpty())return;QImage img = QZXing::encodeData(text,QZXing::EncoderFormat::EncoderFormat_QR_CODE,QSize(200,200),QZXing::EncodeErrorCorrectionLevel::EncodeErrorCorrectionLevel_H,true,false);//图片大小设置,与label大小适配//img = img.scaled(ui->label->width(), ui->label->height()); //图片适应label,有点变形,太丑ui->label->setPixmap(QPixmap::fromImage(img));

3、识别二维码

QImage img;//QString path= qApp->applicationDirPath()+"//file.png";//第一个参数:标准文件对话框的父窗口;第二个参数:标准文件对话框的标题;第三个参数:指定默认的目录;第四个参数:文件过滤器//QString path = QFileDialog::getOpenFileName(this,"open file dialog","/","png files(*.png);;jpg files(*.jpg)");//img.load(path);img = ui->label->pixmap()->toImage();if(img.isNull()){qDebug()<<"图片为空";return;}QZXing decode;decode.setDecoder(QZXing::DecoderFormat_QR_CODE);decode.setSourceFilterType(QZXing::TryHarderBehaviour_ThoroughScanning|QZXing::TryHarderBehaviour_Rotate);decode.setSourceFilterType(QZXing::SourceFilter_ImageNormal);QString info = decode.decodeImage(img);ui->lineEdit_2->setText(info);

4、注意事项
一定要将QZXing3.dll放在和exe同意目录,否则会出现编译通过,无法运行的问题

相关文章:

Qt实现二维码生成和识别

一、简介 QZxing开源库: 生成和识别条码和二维码 下载地址&#xff1a;https://gitcode.com/mirrors/ftylitak/qzxing/tree/master 二、编译与使用 1.下载并解压&#xff0c;解压之后如图所示 2.编译 打开src目录下的QZXing.pro&#xff0c;选择合适的编译器进行编译 最后生…...

MyBatisX插件

MyBatisX插件 MyBatis-Plus为我们提供了强大的mapper和service模板&#xff0c;能够大大的提高开发效率。 但是在真正开发过程中&#xff0c;MyBatis-Plus并不能为我们解决所有问题&#xff0c;例如一些复杂的SQL&#xff0c;多表联查&#xff0c;我们就需要自己去编写代码和SQ…...

《C++20设计模式》学习笔记---原型模式

C20设计模式 第 4 章 原型模式4.1 对象构建4.2 普通拷贝4.3 通过拷贝构造函数进行拷贝4.4 “虚”构造函数4.5 序列化4.6 原型工厂4.7 总结4.8 代码 第 4 章 原型模式 考虑一下我们日常使用的东西&#xff0c;比如汽车或手机。它们并不是从零开始设计的&#xff0c;相反&#x…...

SpringBootAdmin设置邮件通知

如果你想要在Spring Boot Admin中配置邮件通知&#xff0c;可以按照以下步骤进行操作&#xff1a; 添加邮件通知的依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId> </dep…...

深度解析IP应用场景API:提升风险控制与反欺诈能力

前言 在当今数字化时代&#xff0c;网络安全和用户数据保护成为企业日益关注的焦点。IP应用场景API作为一种强大的工具&#xff0c;不仅能够在线调用接口获取IP场景属性&#xff0c;而且具备识别IP真人度的能力&#xff0c;为企业提供了卓越的风险控制和反欺诈业务能力。本文将…...

Java连接数据库增删改查-MyBatis

准备工作&#xff1a; 1.创建一个springboot项目&#xff0c;并添加四个依赖 分别是&#xff0c;MyBatis的启动依赖和安装依赖&#xff0c;SQL的依赖&#xff0c;测试依赖&#xff0c;如下&#xff1a; 2.然后创建一张至少两条数据的表 &#xff08;表可以用各种图形化工具创…...

在国内,现在月薪1万是什么水平?

看到网友发帖问&#xff1a;现在月薪1W是什么水平&#xff1f; 在现如今的情况下&#xff0c;似乎月薪过万这个标准已经成为衡量个人能力的一个标准了&#xff0c;尤其是现在互联网横行的时代&#xff0c;好像年入百万&#xff0c;年入千万就应该是属于大众的平均水平。 我不是…...

【Python网络爬虫入门教程1】成为“Spider Man”的第一课:HTML、Request库、Beautiful Soup库

Python 网络爬虫入门&#xff1a;Spider man的第一课 写在最前面背景知识介绍蛛丝发射器——Request库智能眼镜——Beautiful Soup库 第一课总结 写在最前面 有位粉丝希望学习网络爬虫的实战技巧&#xff0c;想尝试搭建自己的爬虫环境&#xff0c;从网上抓取数据。 前面有写一…...

燕千云汇联易联袂出击:护航医企合规,丝滑内外协作

&#x1f449; 如想详细了解燕千云医药行业快速实施包&#xff08;ITFA&#xff09;&#xff0c;可继续阅读详细内容&#xff1a; 文/玉娇龙 一. 医药行业数字化挑战 医药研发从基础研究到最终注册上市的整个生命周期长则需要10多年&#xff0c;短则需要6-7年&#xff0c;在漫长…...

【线性代数与矩阵论】Jordan型矩阵

Jordan型矩阵 2023年11月3日 #algebra 文章目录 Jordan型矩阵1. 代数重数与几何重数2. Jordan块与Jordan标准型2.1 最小多项式与Jordan标准型2.2 两类重要矩阵 3. 矩阵的Jordan分解3.1 Jordan分解的应用 下链 1. 代数重数与几何重数 在对向量做线性变换时&#xff0c;向量空间…...

laravel的ORM 对象关系映射

Laravel 中的 ORM&#xff08;Eloquent ORM&#xff09;是 Laravel 框架内置的一种对象关系映射系统&#xff0c;用于在 PHP 应用中与数据库进行交互。Eloquent 提供了一种优雅而直观的语法&#xff0c;使得开发者可以使用面向对象的方式进行数据库查询和操作。 定义模型&…...

049:VUE 引入jquery的方法和配置

第049个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下&#xff0c;本专栏提供行之有效的源代码示例和信息点介绍&#xff0c;做到灵活运用。 &#xff08;1&#xff09;提供vue2的一些基本操作&#xff1a;安装、引用&#xff0c;模板使…...

Qt设置类似于qq登录页面

头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QWindow> #include <QIcon> #include <QLabel> #include <QMovie> #include <QLineEdit> #include <QPushButton>QT_BEGIN_NAMESPACE namespace Ui { class…...

【GDB】

GDB 1. GDB调试器1.1 前言1.2 GDB编译程序1.3 启动GDB1.4 载入被调试程序1.5 查看源码1.6 运行程序1.7 断点设置1.7.1 通过行号设置断点1.7.2 通过函数名设置断点1.7.3 通过条件设置断点1.7.4 查看断点信息1.7.5 删除断点 1.8 单步调试1.9 2. GDB调试core文件2.1 设定core文件的…...

深入了解Java Duration类,对时间的精细操作

阅读建议 嗨&#xff0c;伙计&#xff01;刷到这篇文章咱们就是有缘人&#xff0c;在阅读这篇文章前我有一些建议&#xff1a; 本篇文章大概6000多字&#xff0c;预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强&#xff0c;是一篇质量分数较高的技术干货文章&#x…...

Python:核心知识点整理大全5-笔记

目录 2. 使用方法pop()删除元素 3. 弹出列表中任何位置处的元素 4. 根据值删除元素 3 章 列表简介 3.3 组织列表 3.3.1 使用方法 sort()对列表进行永久性排序 3.3.2 使用函数 sorted()对列表进行临时排序 3.3.3 倒着打印列表 3.3.4 确定列表的长度 3.5 小结 2. 使用方…...

预训练(pre-learning)、微调(fine-tuning)、迁移学习(transfer learning)

预训练&#xff08;pre-learning&#xff09; 搭建一个网络模型来完成一个特定的图像分类的任务。首先&#xff0c;你需要随机初始化参数&#xff0c;然后开始训练网络&#xff0c;不断调整参数&#xff0c;直到网络的损失越来越小。在训练的过程中&#xff0c;一开始初始化的…...

王道数据结构课后代码题 p149 第8—— 12(c语言代码实现)

目录 8.假设二叉树采用二叉链表存储结构存储&#xff0c;试设计一个算法&#xff0c;计算一棵给定二叉树的所有双分支结点个数。 9.设树B是一棵采用链式结构存储的二叉树&#xff0c;编写一个把树 B中所有结点的左、右子树进行交换的函数。 10.假设二叉树采用二叉链存储结构存储…...

Nginx服务优化以及防盗链

1. 隐藏版本号 以在 CentOS 中使用命令 curl -I http://192.168.66.10 显示响应报文首部信息。 查看版本号 curl -I http://192.168.66.10 1. 修改配置文件 vim /usr/local/nginx/conf/nginx.conf http {include mime.types;default_type application/octet-stream;…...

20231210 随机矩阵和M矩阵

1. 非负矩阵&#xff1a;矩阵元素均非负 定义 7.1.1 设 A ( a i j ) ∈ R m n \boldsymbol{A}\left(a_{i j}\right) \in \mathbb{R}^{m \times n} A(aij​)∈Rmn, 如果 a i j ⩾ 0 , i 1 , ⋯ , m ; j 1 , ⋯ , n , a_{i j} \geqslant 0, \quad i1, \cdots, m ; j1, \cd…...

用QT5的QTcpSocket做一个TCP调试助手:连接单片机/服务器测试数据收发

用QT5打造专业级TCP调试助手&#xff1a;从基础通信到工业级工具开发 在嵌入式开发和物联网项目中&#xff0c;TCP通信调试是每个工程师都会遇到的常规需求。无论是与STM32单片机通信&#xff0c;还是测试PLC设备的网络功能&#xff0c;亦或是验证云服务器的数据接口&#xff0…...

从2D到3D草图进阶:Solidworks曲面建模效率提升全攻略(2023新版)

从2D到3D草图进阶&#xff1a;Solidworks曲面建模效率提升全攻略&#xff08;2023新版&#xff09; 在工业设计领域&#xff0c;Solidworks始终保持着强大的竞争力&#xff0c;尤其当设计师从平面思维跃升至三维空间时&#xff0c;3D草图功能便成为突破创意边界的利器。不同于传…...

新手友好!Qwen3-ASR-1.7B镜像使用全攻略:从安装到实战

新手友好&#xff01;Qwen3-ASR-1.7B镜像使用全攻略&#xff1a;从安装到实战 1. 为什么选择Qwen3-ASR-1.7B&#xff1f; 语音识别技术正在改变我们处理音频内容的方式。Qwen3-ASR-1.7B作为阿里云通义千问团队开发的开源语音识别模型&#xff0c;在识别精度和语言支持方面表现…...

semi-utils:批量添加专业水印的智能解决方案

semi-utils&#xff1a;批量添加专业水印的智能解决方案 【免费下载链接】semi-utils 一个批量添加相机机型和拍摄参数的工具&#xff0c;后续「可能」添加其他功能。 项目地址: https://gitcode.com/gh_mirrors/se/semi-utils 作为一名摄影爱好者或专业摄影师&#xff…...

PyTorch 2.8多场景实操:科研训练+工程推理+内容创作的统一技术底座

PyTorch 2.8多场景实操&#xff1a;科研训练工程推理内容创作的统一技术底座 1. 为什么选择PyTorch 2.8作为统一技术底座 PyTorch 2.8作为当前最主流的深度学习框架之一&#xff0c;已经成为学术界和工业界的首选工具。这个基于RTX 4090D 24GB显卡深度优化的镜像&#xff0c;…...

3个技巧:如何用开源工具彻底解决Beyond Compare授权难题

3个技巧&#xff1a;如何用开源工具彻底解决Beyond Compare授权难题 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 当Beyond Compare 5的30天评估期结束后&#xff0c;用户常常会遇到"评估…...

效率倍增:用快马平台自动化生成类qoderwork官网的高质量模板

在开发企业级工具类官网时&#xff0c;效率往往是团队最关注的核心指标之一。最近尝试用InsCode(快马)平台自动化生成类似qoderwork官网的模板&#xff0c;发现它能将传统需要数天的手动搭建过程压缩到几分钟内完成&#xff0c;这种效率提升对中小团队尤其有价值。以下是具体实…...

Joy-Con Toolkit:任天堂手柄全能管理解决方案

Joy-Con Toolkit&#xff1a;任天堂手柄全能管理解决方案 【免费下载链接】jc_toolkit Joy-Con Toolkit 项目地址: https://gitcode.com/gh_mirrors/jc/jc_toolkit 核心价值&#xff1a;重新定义手柄控制体验 Joy-Con Toolkit作为开源手柄管理领域的创新工具&#xff0…...

CLAP模型量化压缩实战:8位整数量化指南

CLAP模型量化压缩实战&#xff1a;8位整数量化指南 1. 引言 如果你正在为嵌入式设备部署音频AI模型而苦恼&#xff0c;那么CLAP模型的量化压缩可能就是你要找的解决方案。CLAP&#xff08;对比语言-音频预训练&#xff09;模型虽然功能强大&#xff0c;但其庞大的参数量让在资…...

Qwen3.5-9B实战落地:政务公文校对+政策条款关联性分析案例

Qwen3.5-9B实战落地&#xff1a;政务公文校对政策条款关联性分析案例 1. 项目背景与模型介绍 Qwen3.5-9B是一款拥有90亿参数的开源大语言模型&#xff0c;在政务场景中展现出强大的应用潜力。这个模型特别适合处理结构化文本分析任务&#xff0c;能够理解复杂的政策语言和公文…...