Qt5中添加QZxing,识别二维码和条形码

Qt中添加QZxing,识别二维码和条形码

网上有很多关于在Qt中配置QZxing,识别二维码和条形码的博文,本文没什么特色,和其他博文大同小异。

Qt中添加QZxing有两种方法:

  1. 直接在项目中包含QZxing源码,将源码编译进项目中 。(本文使用这种方法)
  2. 使用QZxing源码,将QZxing编译成驱动,使用调用驱动的方式。

效果图:

条形码:
Qt5中添加QZxing,识别二维码和条形码_第1张图片
二维码:
Qt5中添加QZxing,识别二维码和条形码_第2张图片

使用方法:

下载QZxing的源码(GitHub地址:https://github.com/ruisebastiao/QZXing ),下载只有,在源码文件夹下有一个QZxing文件夹,文件夹中有QZXing.pri工程组织文件,在pro文件中添加QZxing的QZXing.pri工程管理文件,如下图:
Qt5中添加QZxing,识别二维码和条形码_第3张图片

使用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

你可能感兴趣的:(Qt编程)