QT 使用zint 展示二维码

首先链接库,在demo.pro文件中添加链接 

//demo.pro


LIBS += -L/usr/local/lib/ -lzint

其次是添加头文件,用于读取的接口


//mainwindow.cpp

 #include <zint.h>

然后就可以使用接口,生成二维码图片,进行展示
 

//mainwindow.cpp

//图片存储路径
 QString strImagePath = QCoreApplication::applicationDirPath() + "/barcode.bmp";

//创建zint_symbol结构体,存储数据
struct zint_symbol * my_symbol = ZBarcode_Create(); 
//设置生成码的类型
my_symbol->symbology=BARCODE_QRCODE; 
//设置图片存储路径
strcpy(my_symbol->outfile, strImagePath.toStdString().c_str()); 
qDebug()<<my_symbol->outfile<<endl;


QString b="1\n2\n行";
//生成二维码图片
ZBarcode_Encode(my_symbol,(unsigned char*)b.toStdString().c_str(),0); 
//输出二维码图片
ZBarcode_Print(my_symbol,0);    
//删除结构体zint_symbol
ZBarcode_Delete(my_symbol);   

//在label上显示二维码图片
QImage img;
img.load(strImagePath.toStdString().c_str());
QImage newImg = img.scaled(ui->label->width(),ui->label->height(), Qt::IgnoreAspectRatio);
ui->label->setPixmap(QPixmap::fromImage(newImg));


如何得到库文件,可参考:

QT 链接动态库 (静态链接 条件编译 动态加载)

arm交叉编译二维码编码库zint

首先,需要安装 Zint 库。可以在 Ubuntu 上使用以下命令安装: ``` sudo apt-get install libzint-dev ``` 或者在 Windows 上下载编译好的库文件并添加到项目中。 接下来,在 Qt Creator 中创建一个新的 Qt Widgets 应用程序项目。 在项目中添加 Zint 库,方法是在 .pro 文件中添加以下行: ``` LIBS += -lzint ``` 在 Qt Designer 中创建一个窗口,添加一个文本编辑器和一个按钮。 在代码中添加以下行,以便在按钮点击时生成二维码: ```cpp #include <zint.h> void Widget::on_pushButton_clicked() { char* barcode_data = ui->textEdit->toPlainText().toUtf8().data(); int barcode_length = strlen(barcode_data); struct zint_symbol* barcode = ZBarcode_Create(); barcode->symbology = BARCODE_QRCODE; barcode->input_mode = UNICODE_MODE; barcode->output_options = READER_INIT | ECI_MODE | GS1_MODE; barcode->eci = 65001; barcode->scale = 1; barcode->option_1 = 5; // ECC level, 5 = highest barcode->option_2 = 1; // minimum version ZBarcode_Encode(barcode, (unsigned char*)barcode_data, barcode_length); QImage barcode_image(barcode->bitmap, barcode->width, barcode->height, QImage::Format_Mono); ui->label->setPixmap(QPixmap::fromImage(barcode_image)); ui->label->setScaledContents(true); ZBarcode_Delete(barcode); } ``` 这段代码首先从文本编辑器中获取输入的文本数据,并将其转换为 UTF-8 格式。 接下来,创建一个 Zint 符号,并设置它的属性。在本例中,选择的二维码类型为 QR Code,输入模式为 UNICODE_MODE,输出选项为 READER_INIT、ECI_MODE 和 GS1_MODE,ECI 值为 65001,比例为 1,ECC 等级为 5(最高),最小版本为 1。 然后,使用 Zint 库的 ZBarcode_Encode 函数生成二维码。将生成的位图转换为 QImage,并将其显示在 QLabel 控件中。 最后,使用 ZBarcode_Delete 函数释放 Zint 符号。 现在,运行程序并在文本编辑器中输入一些文本,然后单击按钮。将会生成一个二维码并显示在程序窗口中。 希望这可以帮助你实现使用 Qt Creator 和 Zint 库生成二维码
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值