演示:
环境:
Qt Creator 4.8.2
Qt 5.9.8 MinGw 32bit
Qr Code:第三方编码库
步骤:
- 下载第三方库:
https://github.com/nayuki/QR-Code-generator.git - 拷贝cpp目录中的以下文件到自己的工程中
3)代码调用:
3.1) 添加头文件与命名空间:
#include "Qrcode_cpp/QrCode.hpp"
using namespace qrcodegen;
3.2) 格式化数据并创建qrcode操作句柄
std::vector<QrSegment> segs = QrSegment::makeSegments(mData.toLatin1());
QrCode qrcode = QrCode::encodeSegments(segs, QrCode::Ecc::HIGH, 1, 40, 2, false);
3.3)绘制图片
QImage = QImage(qrcode.getSize(), qrcode.getSize(), QImage::Format_RGB888);
for (int y = 0; y < qrcode.getSize(); y++) {
for (int x = 0; x < qrcode.getSize(); x++) {
if(qrcode.getModule(x, y)==0)
qrImage.setPixel(x,y,qRgb(0,139,139));
else
qrImage.setPixel(x,y,qRgb(0,0,0));
}
}
3.4) 显示图片
ui->label->setPixmap(QPixmap::fromImage(qrImage));
注:开源库中有很详细的例子, 注释也非常完整.
项目地址:https://download.csdn.net/download/k_aixun/12104628