返回顶部
首页 > 资讯 > 精选 >Qt如何结合libqrencode生成二维码
  • 867
分享到

Qt如何结合libqrencode生成二维码

2023-06-26 05:06:43 867人浏览 泡泡鱼
摘要

这篇文章主要介绍Qt如何结合libqrencode生成二维码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!0.前言libqrencode 是一个生成二维码的 c 语言库,二维码的容量可达 7000 位或 4000 个

这篇文章主要介绍Qt如何结合libqrencode生成二维码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

0.前言

libqrencode 是一个生成二维码的 c 语言库,二维码的容量可达 7000 位或 4000 个字符,采用 LGPL-2.1 协议可放心食用,GitHub 链接如下:

https://github.com/fukuchi/libqrencode

libqrencode 支持 JIS(日本工业标准)X0510:2004 或 ISO / IEC 18004 中描述的 QR Code 模型 2。该规范中的大多数功能都已实现,例如:

  • 可以嵌入数字,字母,日语汉字(Shift-JIS)或任何8位代码

  • 优化字符串编码

  • 符号的结构化追加

  • Micro QR Code(实验性)

当前不支持以下功能:

  • ECI 和 FNC1 模式

  • QR Code 模型 1(不建议使用)

1.编译 libqrencode

可以使用 vcpkg 安装该库,或者下载源码用 CMake 构建。下面使用 CMake + VS 来生成。

使用 CMake-gui 打开工程目录后点 Configure,勾上 BUILD_SHARED_LIBS 生成动态库而不是静态库,因为是 LGPL 协议。点 Add Entry 添加 CMAKE_DEBUG_POSTFIX 字段,类型为 String,值为 d,使 debug 模式生成结果带 d 后缀,去掉 WITH 那几个工具测试相关的,用不着,而且有依赖。我这里还出现了 ICONV 依赖未找到的警告,直接忽略。配置好后点 Generate 生成 VS 工程文件。

Qt如何结合libqrencode生成二维码

在指定的生成目录下(上图的 build),找到 sln 工程文件,用 VS 打开。

Qt如何结合libqrencode生成二维码

Qt如何结合libqrencode生成二维码

分别生成 Debug 和 Release 版本的 dll,如果需要带调试信息 Release,可以选 RelWidthDebInfo 。编译完后,install 到指定的目录中去,include 和 lib 两个文件夹就是最终我们需要的头文件和库文件;或者直接从编译生成的目录找对应文件。

Qt如何结合libqrencode生成二维码

Qt如何结合libqrencode生成二维码

2.Qt 中使用 libqrencode 

Qt如何结合libqrencode生成二维码

测试工程(Qt5 + MSVC2019):

MyTestCode2021/Qt/QtQRencodeVS2019 at master · Gongjianbo/MyTestCode2021 · GitHub

主要代码: 

//extern QRcode *QRcode_encodeString(const char *string, int version, QRecLevel level,//                                   QRencodeMode hint, int casesensitive);QImage MainWindow::qrEncode(const QString &info){    QImage ret; //放二维码图片结果    int scale = 4; //方块绘制大小    QByteArray info_data = info.toUtf8();    QRcode* qr = QRcode_encodeString(info_data.constData(), 0, QR_ECLEVEL_Q, QR_MODE_8, 1);    if (qr && qr->width > 0)    {        int img_width = qr->width * scale;        ret = QImage(img_width, img_width, QImage::FORMat_Mono); //mono位图        QPainter painter(&ret);        painter.fillRect(0, 0, img_width, img_width, Qt::white);//背景填充白色        painter.setPen(Qt::NoPen);        painter.setBrush(Qt::black); //黑色方块        for (int y = 0; y < qr->width; y++) //行        {            for (int x = 0; x < qr->width; x++) //列            {                if (qr->data[y * qr->width + x] & 1) //1表示黑块                {                    QRect r(x * scale, y * scale, scale, scale);                    painter.drawRect(r);                }            }        }        QRcode_free(qr);    }    return ret;}

以上是“Qt如何结合libqrencode生成二维码”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Qt如何结合libqrencode生成二维码

本文链接: https://lsjlt.com/news/306990.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Qt如何结合libqrencode生成二维码
    这篇文章主要介绍Qt如何结合libqrencode生成二维码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!0.前言libqrencode 是一个生成二维码的 c 语言库,二维码的容量可达 7000 位或 4000 个...
    99+
    2023-06-26
  • Qt结合libqrencode生成二维码的实现示例
    目录0.前言1.编译 libqrencode2.Qt 中使用 libqrencode 0.前言 libqrencode 是一个生成二维码的 c 语言库,二维码的容量可达 7...
    99+
    2024-04-02
  • 二维码如何生成
    小编给大家分享一下二维码如何生成,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设...
    99+
    2023-06-17
  • Qt如何实现字符串生成二维码功能
    这篇文章主要介绍Qt如何实现字符串生成二维码功能,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言最近在整理开发项目中遇到的知识点,发现了一个特别有意思的功能:使用字符串生成二维码操作。下面是实现的效果图开发环境WI...
    99+
    2023-06-29
  • 教你如何使用google.zxing结合springboot生成二维码功能
    目录Zxing原生方式添加依赖二维码生成工具类添加Controller添加测试页面Hutool的方式添加依赖创建QRCodeService添加Controller效果测试我们使用两种...
    99+
    2024-04-02
  • PHP如何生成二维码?
    PHP是一种流行的服务器端编程语言,广泛应用于Web开发领域。二维码是一种快速获取信息的技术,它已经被广泛应用于各种领域。在本文中,我们将介绍如何使用PHP来生成二维码。 生成二维码的基本原理是将需要存储的信息编码成二维码图案,然后通过扫描...
    99+
    2023-09-26
    二维码 path git
  • 如何用Python生成二维码、解析二维码
    目录楔子生成二维码qrcodeMyQR解析二维码楔子 二维码在我们的生活中可以说是必不可少的,不单单是手机支付、其它很多地方也都需要扫描二维码。那么下面我们就来看看如何使用pyth...
    99+
    2024-04-02
  • 二维码生成器:Go与npm的完美结合?
    随着移动支付和电子商务的普及,二维码已经成为了我们日常生活中不可或缺的一部分。而在二维码的生成过程中,Go语言以其高效和简洁的特性,已经成为了很多开发者的首选。但是在实际的开发过程中,使用Go语言生成二维码时,我们可能需要结合一些其他的工...
    99+
    2023-09-01
    二维码 npm 并发
  • thinkphp5何生成二维码
    小编给大家分享一下thinkphp5何生成二维码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!   ...
    99+
    2024-04-02
  • ASP 中如何生成二维码?
    随着智能手机的普及,二维码已经成为了一种常见的扫描方式。二维码可以用于电子商务、广告、会员卡、门禁等多种场景。那么,如何在 ASP 中生成二维码呢?本文将为您提供一种简单的方法。 首先,我们需要引用一个第三方库,这个库叫做“qrcode....
    99+
    2023-10-06
    二维码 日志 git
  • Python 中如何生成二维码?
    Python 中如何生成二维码? 二维码(QR Code)是一种可以被扫描的矩阵条形码,它可以被用于快速识别产品信息、网址链接、电子邮件地址、电话号码等等。在 Python 中,我们可以使用第三方库 qrcode 来生成二维码。本文将介绍如...
    99+
    2023-10-07
    对象 二维码 unix
  • Java中如何生成二维码?
    二维码是一种矩阵条码,可以存储一定量的信息,常用于移动支付、商品编码、会议签到等领域。在Java中,我们可以使用第三方库来生成二维码,本文将介绍两种常用的库:ZXing和QRGen。 ZXing库 ZXing是Google开发的一款开...
    99+
    2023-08-12
    二维码 apache 日志
  • Qt实现字符串生成二维码功能
    目录前言开发环境实现步骤资源包数据配置属性二维码操作总结前言 最近在整理开发项目中遇到的知识点,发现了一个特别有意思的功能:使用字符串生成二维码操作。 下面是实现的效果图 开发环境...
    99+
    2024-04-02
  • Angular.JS如何生成动态二维码
    这篇文章主要介绍Angular.JS如何生成动态二维码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、场景二维码的场景,很多。这里是二维码一种小场景,比如分享一个链接,商品链接,项...
    99+
    2024-04-02
  • 如何使用Java生成二维码
    如何使用Java生成二维码?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了面向对象理...
    99+
    2023-06-14
  • 如何利用yii2生成二维码
    小编给大家分享一下如何利用yii2生成二维码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!生成二维码的具体步骤如下所示:在官网下载类库在官网下载类库后,确保当前P...
    99+
    2023-06-14
  • Java API中如何生成二维码?
    二维码是一种矩阵条码,它是由黑白相间的小方块组成的。二维码是一种可以编码许多信息的二进制图形码,它可以用于商业、广告、文化、教育等各个领域。在Java中,我们可以使用一些API来生成二维码。本文将介绍如何使用Java API生成二维码。 ...
    99+
    2023-06-15
    api linux 二维码
  • 如何基于SpringBoot生成二维码
    这篇文章给大家分享的是有关如何基于SpringBoot生成二维码的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、基于Google开发工具包ZXing生成二维码(1)首先,需要在pom.xml依赖配置文件中加入该...
    99+
    2023-06-29
  • 小程序二维码如何生成
    本篇内容介绍了“小程序二维码如何生成”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!正式二维码在“设置”中查看小程序的正式二维码,该二维码只用...
    99+
    2023-06-26
  • 如何在Go中生成二维码?
    在现代社会中,二维码已经成为了人们生活中不可或缺的一部分。通过扫描二维码,我们可以获取到各种各样的信息,比如商品信息、网址链接、联系方式等等。在Go语言中,生成二维码变得非常简单,只需要使用一些简单的库就可以实现。本文将会介绍如何在Go中生...
    99+
    2023-09-11
    二维码 npm leetcode
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作