首先需要了解的是,二维码就是以01矩阵图的形式存储的字符串而已,就像我们扫描的网址类型的二维码,扫出来通过解析器其实就是一个url链接。关于其他的说明就自己百度了。
此处使用的是开源库qrencode来进行测试,类似的还有zxing或者qt自带的qzxing库。
1)先下载相关文件:http://download.openpkg.org/components/cache/qrencode/
下载好后,解压到自己的工程文件夹中
然后将config.h.in文件的.in删去,并且在此文件底部添加
#define MAJOR_VERSION 1
#define MICRO_VERSION 1
#define MINOR_VERSION 1
#define VERSION 1
然后还要删除qrenc.c文件,因为里面有main函数会产生冲突
2)此外还需要在qt工程中添加所有.c和.h文件,否则无法正确读取到文件
3)在.pro文件中添加:INCLUDE+=qrencode//此处是你存放库文件的目录名称
DEFINES+=HAVE_CONFIG_H
现在就可以在项目中#include<qrencode.h>来使用了
下面是生成二维码的使用例:
大致流程:将str转为code->处理宽高->根据伪二维数组data(即二维码数据矩阵)来绘制实际图片
//此处tempstr就是要转成二维码的具体数据data,label是最终显示二维码
void Widget::GenerateQRcode(QString tempstr,QLabel* label)
{
QRcode