版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/rl529014/article/details/80640670
Qt中添加QZxing,识别二维码和条形码
网上有很多关于在Qt中配置QZxing,识别二维码和条形码的博文,本文没什么特色,和其他博文大同小异。
Qt中添加QZxing有两种方法:
- 直接在项目中包含QZxing源码,将源码编译进项目中 。(本文使用这种方法)
- 使用QZxing源码,将QZxing编译成驱动,使用调用驱动的方式。
效果图:
条形码:
二维码:
使用方法:
下载QZxing的源码(GitHub地址:https://github.com/ruisebastiao/QZXing ),下载只有,在源码文件夹下有一个QZxing文件夹,文件夹中有QZXing.pri工程组织文件,在pro文件中添加QZxing的QZXing.pri工程管理文件,如下图:
使用QZxing解码的关键代码:
void MainWindow::on_pushButton_clicked()
{
m_fileName = QFileDialog::getOpenFileName(this,
tr("条形码打开文件"),
"./",
tr("任何文件(*.*)"
";;文本文件(*.png)")
);
if(m_fileName.isEmpty() == false)
{
ui->statusBar->setToolTip(m_fileName);
QImage img; //加载图像
if(!(img.load(m_fileName)))
{
QMessageBox::information(this,
tr("打开图像失败"),
tr("打开图像失败!"));
return;
}
img = img.scaled(ui->label_image->width(),ui->label_image->height(),Qt::KeepAspectRatio);
ui->label_image ->setPixmap(QPixmap::fromImage(img));
QZXing decoder(QZXing::DecoderFormat_QR_CODE | QZXing::DecoderFormat_CODE_128);
ui->lineEdit->setText(decoder.decodeImage(img));
}
}
demo下载地址:
Qt、C++编程交流群:302558294