交叉编译zint并在qt中显示条码

23 篇文章 0 订阅

下载源码 https://sourceforge.net/projects/zint/
tar -xvf zint-2.6.7.tar.gz
cd zint-2.6.7/backend_qt/

若不依赖png,则编辑backend_qt.pro
    DEFINES += ZINT_VERSION="\\\"2.6.7\\\""
    改成
    DEFINES += NO_PNG ZINT_VERSION="\\\"2.6.7\\\""

默认编译的是静态库,若要编译动态库 则编辑backend_qt.pro
    CONFIG += staticlib
    #CONFIG += dll
    改成
    #CONFIG += staticlib
    CONFIG += dll

生成Makefile
    交叉编译,则调用交叉编译出的qt工具
    /usr/local/qt5-arm/bin/qmake
    若是pc编译,则调用系统工具
    qmake

编译
make

静态编译生成libQtZint.a,动态编译生成libQtZint.so.2.6.7 libQtZint.so.2 libQtZint.so.2.6 libQtZint.so把字符串转成条形码并显示在label上

#include "qzint.h"

static QImage Text2QImg(const QString &str)
{
    Zint::QZint qzint;
    qzint.setSymbol(BARCODE_CODE128);
    qzint.setScale(1);
    qzint.setText(str);

    QImage img(480, 320, QImage::Format_RGB888);
    QPainter painter(&img);
    QRectF paintRect(30, 50, 430, 230);
    qzint.render(painter, paintRect);
    return img;
}

QImage img = Text2QImage("1234567");
ui->label->setPixmap(QPixmap::fromImage(img));

作者:帅得不敢出门
 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值