Qt 打印机打印条形码,二维码

22 篇文章 0 订阅

 

效果演示:

        

 

二维码库用的是:qrcode

条形码使用的是:code128

可以调整部件位置,字体,标签大小,保存模板,连续打印功能,支持扫码枪操作

后期有时间会将主要功能抽取成demo进行分享

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
在Windows系统下,我们可以使用Qt C++编程语言来生成条形码二维码。首先,我们需要下载并安装Qt开发环境。 生成条形码可以使用Zint库,它是一个开源的条形码生成库。我们需要先下载和安装Zint库,并将其添加到我们的Qt项目中。 接下来,我们可以在Qt的项目中使用以下代码来生成条形码: ```cpp #include <iostream> #include <QImage> #include <QPainter> #include <QFile> #include <QTextStream> extern "C" { #include "zint.h" } int main() { int error_number; struct zint_symbol *my_symbol; int input_mode = UNICODE_MODE; // 创建一个Zint符号 my_symbol = ZBarcode_Create(); // 设置要生成的条形码类型 my_symbol->symbology = BARCODE_CODE128; // 设置输入数据(条形码内容) QByteArray data = "Hello World"; ZBarcode_Encode_and_Buffer(my_symbol, (unsigned char*)data.data(), 0, 0); // 创建一个QImage对象 QImage img(QSize(my_symbol->bitmap_width, my_symbol->bitmap_height), QImage::Format_RGBA8888); // 使用QPainter绘制条形码 QPainter painter; painter.begin(&img); painter.setCompositionMode(QPainter::CompositionMode_Source); painter.fillRect(img.rect(), Qt::white); painter.setCompositionMode(QPainter::CompositionMode_DestinationOver); painter.drawImage(0, 0, QImage(my_symbol->bitmap, my_symbol->bitmap_width, my_symbol->bitmap_height, QImage::Format_Mono)); // 保存生成的条形码图片 img.save("barcode.png"); // 释放Zint符号 ZBarcode_Delete(my_symbol); return 0; } ``` 这样,我们就可以在Qt的项目中生成条形码,并将其保存为barcode.png文件。 而生成二维码可以使用QZXing库,它是一个支持二维码生成和解码的Qt库。我们需要先下载并安装QZXing库,并将其添加到我们的Qt项目中。 接下来,我们可以在Qt的项目中使用以下代码来生成二维码: ```cpp #include <iostream> #include <QImage> #include <QPainter> #include <QFile> #include <QTextStream> #include <QZXing> int main() { // 创建一个QZXing对象 QZXing zxing; // 设置要生成的二维码内容 QString data = "Hello World"; // 使用QZXing生成二维码 QImage img = zxing.encode(data); // 保存生成的二维码图片 img.save("qrcode.png"); return 0; } ``` 这样,我们就可以在Qt的项目中生成二维码,并将其保存为qrcode.png文件。 通过以上方法,我们可以在Windows下使用Qt C++生成条形码二维码
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值