您当前的位置:首页 > 电脑百科 > 程序开发 > 编程百科

Qt生成二维码

时间:2023-03-24 10:56:30  来源:今日头条  作者:Qt技术开发老jie

Qt生成二维码需要第三方库qrencode。

  1、编译好的qrencode库获取:

    链接:
https://pan.bAIdu.com/s/1rss-9LlDVmJ-mfNmK_dELQ

    提取码:h8lc

  2、Qt配置qrencode

    (1)右击Qt工程文件,出现菜单,选择【添加库】->【外部库】来添加qrencode库。

    (2)把qrencode.h头文件添加到工程中,然后包含头文件 #include "qrencode.h"

  3、代码生成二维码

  /**
   * @brief GernerateQRCode
   * 生成二维码函数
   * @param text  二维码内容
   * @param qrPixmap  二维码像素图
   * @param scale 二维码缩放比例
   */
  void GernerateQRCode(const QString &text, QPixmap &qrPixmap, int scale)
  {
     if(text.isEmpty())
     {
         return;
     }
 
     //二维码数据
     QRcode *qrCode = nullptr;
 
     //这里二维码版本传入参数是2,实际上二维码生成后,它的版本是根据二维码内容来决定的
     qrCode = QRcode_encodeString(text.toStdString().c_str(), 2,
                                  QR_ECLEVEL_Q, QR_MODE_8, 1);
 
     if(nullptr == qrCode)
     {
         return;
     }
 
     int qrCode_Width = qrCode->width > 0 ? qrCode->width : 1;
     int width = scale * qrCode_Width;
     int height = scale * qrCode_Width;
 
     QImage image(width, height, QImage::Format_ARGB32_Premultiplied);
 
     QPainter painter(&image);
     QColor background(Qt::white);
     painter.setBrush(background);
     painter.setPen(Qt::NoPen);
     painter.drawRect(0, 0, width, height);
     QColor foreground(Qt::black);
     painter.setBrush(foreground);
     for(int y = 0; y < qrCode_Width; ++y)
     {
         for(int x = 0; x < qrCode_Width; ++x)
         {
             unsigned char character = qrCode->data[y * qrCode_Width + x];
             if(character & 0x01)
             {
                QRect rect(x * scale, y * scale, scale, scale);
                painter.drawRects(&rect, 1);
             }
         }
     }
 
     qrPixmap = QPixmap::fromImage(image);
     QRcode_free(qrCode);
}
  void slot_GenerateQRCode()
  {
      QPixmap qrPixmap;
      int width = ui->label_ShowQRCode->width();
      int height = ui->label_ShowQRCode->height();
      GernerateQRCode(ui->textEdit_Text->toPlainText(), qrPixmap, 2);
      qrPixmap = qrPixmap.scaled(QSize(width, height),
                                 Qt::IgnoreAspectRatio, Qt::SmoothTransformation);
      ui->label_ShowQRCode->setPixmap(qrPixmap);
 }

  4、结果

 



Tags:二维码   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
iPhone或iPad用户必学:如何通过二维码快速共享Wi-Fi密码,简单又实用!
你有没有想过在不泄露网络密码的情况下与客人共享你的家庭或工作Wi-Fi?你肯定不是第一个这样想的人,我们很高兴地通知你,多亏了以下这个的变通方法,你现在可以使用iPhone或iPad...【详细内容】
2024-01-22  Search: 二维码  点击:(64)  评论:(0)  加入收藏
抖音圆形二维码是什么,怎么生成,有什么作用?
在信息技术迅猛发展的今天,跨平台的信息流动变得越来越重要。圆形二维码因其独特的跳转功能而受到了广泛关注,它能够方便地将用户从一个网络平台引导到另一个。这篇文章将介绍...【详细内容】
2024-01-08  Search: 二维码  点击:(71)  评论:(0)  加入收藏
一个二维码,撬动300亿市值的东方甄选!是福还是祸?
继昨日股价下跌后,7月28日上午市值逾300亿元的东方甄选股价反弹涨超12%。消息面上,抖音上东方甄选自营品店铺被关闭一事又有最新进展。据媒体报道,知情人士透露,东方甄选主播是...【详细内容】
2023-07-28  Search: 二维码  点击:(78)  评论:(0)  加入收藏
东方甄选直播间突然被抖音关闭3天!原因曝光:直播露出了二维码
快科技7月28日消息,近日东方甄选直播间突然被抖音官方关闭,东方甄选称这是“因规则要求,抖音平台自营产品店铺、自营产品直播间暂停营业3天”。据报道,此次关闭原因是主播在讲解...【详细内容】
2023-07-28  Search: 二维码  点击:(200)  评论:(0)  加入收藏
二维码设计都这么卷吗?!我又out了!
第一次看到这些二维码,我还以为是看到了一幅幅画,根本没想到是二维码。但实际上,这些都是如假包换的二维码,都可以扫码识别。话说最近人工智能(AI)开始席卷二维码生成技术,不少人开...【详细内容】
2023-06-17  Search: 二维码  点击:(165)  评论:(0)  加入收藏
Qt生成二维码
Qt生成二维码需要第三方库qrencode。  1、编译好的qrencode库获取:    链接: https://pan.baidu.com/s/1rss-9LlDVmJ-mfNmK_dELQ    提取码:h8lc  2、Qt配置qrenco...【详细内容】
2023-03-24  Search: 二维码  点击:(285)  评论:(0)  加入收藏
三招教你如何生成二维码
在现在的生活中,很多地方都需要使用到二维码这种形式,无论是手机支付,还是广告宣传,都会需要通过二维码来进行扫描识别,给我们的生活带来了许多的便利。那么你们知道如何生成二维...【详细内容】
2023-02-20  Search: 二维码  点击:(157)  评论:(0)  加入收藏
二维码的工作原理是什么?每天都在扫,会被用完吗?
说到二维码,大家再熟悉不过了,我们每天都会扫一扫,支付、加好友、登录账号、进出车站等等,它存在于我们生活的方方面面,用途广泛,已经成为我们不可或缺的朋友。总之,这个由黑白两种...【详细内容】
2023-02-05  Search: 二维码  点击:(203)  评论:(0)  加入收藏
Javascript生成二维码(QR)
网络上已经有非常多的二维码编码和解码工具和代码,很多都是服务器端的,也就是说需要一台服务器才能提供二维码的生成。本着对服务器性能的考虑,这种小事情都让服务器去做,感觉对...【详细内容】
2023-01-31  Search: 二维码  点击:(215)  评论:(0)  加入收藏
链接怎么转换二维码?链接在线转二维码如何操作?
想要将网址链接转二维码图片,可以使用在线二维码生成器来处理,无需复杂的操作,打开电脑浏览器就可以快速在线生成二维码图片。下面大家跟着小编一起来学习一下链接生成二维码的...【详细内容】
2023-01-07  Search: 二维码  点击:(284)  评论:(0)  加入收藏
▌简易百科推荐
Netflix 是如何管理 2.38 亿会员的
作者 | Surabhi Diwan译者 | 明知山策划 | TinaNetflix 高级软件工程师 Surabhi Diwan 在 2023 年旧金山 QCon 大会上发表了题为管理 Netflix 的 2.38 亿会员 的演讲。她在...【详细内容】
2024-04-08    InfoQ  Tags:Netflix   点击:(0)  评论:(0)  加入收藏
即将过时的 5 种软件开发技能!
作者 | Eran Yahav编译 | 言征出品 | 51CTO技术栈(微信号:blog51cto) 时至今日,AI编码工具已经进化到足够强大了吗?这未必好回答,但从2023 年 Stack Overflow 上的调查数据来看,44%...【详细内容】
2024-04-03    51CTO  Tags:软件开发   点击:(6)  评论:(0)  加入收藏
跳转链接代码怎么写?
在网页开发中,跳转链接是一项常见的功能。然而,对于非技术人员来说,编写跳转链接代码可能会显得有些困难。不用担心!我们可以借助外链平台来简化操作,即使没有编程经验,也能轻松实...【详细内容】
2024-03-27  蓝色天纪    Tags:跳转链接   点击:(13)  评论:(0)  加入收藏
中台亡了,问题到底出在哪里?
曾几何时,中台一度被当做“变革灵药”,嫁接在“前台作战单元”和“后台资源部门”之间,实现企业各业务线的“打通”和全域业务能力集成,提高开发和服务效率。但在中台如火如荼之...【详细内容】
2024-03-27  dbaplus社群    Tags:中台   点击:(9)  评论:(0)  加入收藏
员工写了个比删库更可怕的Bug!
想必大家都听说过删库跑路吧,我之前一直把它当一个段子来看。可万万没想到,就在昨天,我们公司的某位员工,竟然写了一个比删库更可怕的 Bug!给大家分享一下(不是公开处刑),希望朋友们...【详细内容】
2024-03-26  dbaplus社群    Tags:Bug   点击:(5)  评论:(0)  加入收藏
我们一起聊聊什么是正向代理和反向代理
从字面意思上看,代理就是代替处理的意思,一个对象有能力代替另一个对象处理某一件事。代理,这个词在我们的日常生活中也不陌生,比如在购物、旅游等场景中,我们经常会委托别人代替...【详细内容】
2024-03-26  萤火架构  微信公众号  Tags:正向代理   点击:(11)  评论:(0)  加入收藏
看一遍就理解:IO模型详解
前言大家好,我是程序员田螺。今天我们一起来学习IO模型。在本文开始前呢,先问问大家几个问题哈~什么是IO呢?什么是阻塞非阻塞IO?什么是同步异步IO?什么是IO多路复用?select/epoll...【详细内容】
2024-03-26  捡田螺的小男孩  微信公众号  Tags:IO模型   点击:(9)  评论:(0)  加入收藏
为什么都说 HashMap 是线程不安全的?
做Java开发的人,应该都用过 HashMap 这种集合。今天就和大家来聊聊,为什么 HashMap 是线程不安全的。1.HashMap 数据结构简单来说,HashMap 基于哈希表实现。它使用键的哈希码来...【详细内容】
2024-03-22  Java技术指北  微信公众号  Tags:HashMap   点击:(11)  评论:(0)  加入收藏
如何从头开始编写LoRA代码,这有一份教程
选自 lightning.ai作者:Sebastian Raschka机器之心编译编辑:陈萍作者表示:在各种有效的 LLM 微调方法中,LoRA 仍然是他的首选。LoRA(Low-Rank Adaptation)作为一种用于微调 LLM(大...【详细内容】
2024-03-21  机器之心Pro    Tags:LoRA   点击:(12)  评论:(0)  加入收藏
这样搭建日志中心,传统的ELK就扔了吧!
最近客户有个新需求,就是想查看网站的访问情况。由于网站没有做google的统计和百度的统计,所以访问情况,只能通过日志查看,通过脚本的形式给客户导出也不太实际,给客户写个简单的...【详细内容】
2024-03-20  dbaplus社群    Tags:日志   点击:(4)  评论:(0)  加入收藏
站内最新
站内热门
站内头条