You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Windows的Qt Creator中安装libqrencode库生成二维码?

在Qt Creator中安装libqrencode并生成二维码的正确步骤

一、编译libqrencode源码

  • 下载源码后,创建单独的build目录,进入该目录执行CMake配置:
    cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/your/install/folder  # 可选:指定自定义安装路径,默认安装到系统目录
    
  • 编译并安装:
    make && make install  # Linux/macOS环境;Windows用MinGW的mingw32-make,或VS环境下用nmake
    
    完成后,安装目录下会生成include(头文件)和lib(库文件)两个核心文件夹。

二、在Qt项目中配置库

不要依赖Qt Creator的库导入向导(易出现识别问题导致Next按钮无法启用),直接手动修改项目构建配置文件:

若使用CMake项目

修改CMakeLists.txt:

# 添加头文件搜索路径
include_directories(/path/to/your/install/folder/include)
# 添加库文件搜索路径
link_directories(/path/to/your/install/folder/lib)
# 将库链接到项目
target_link_libraries(YourProjectName qrencode)  # Windows下可能为libqrencode.lib或qrencode.lib,依编译类型调整

若使用QMake项目

修改.pro文件:

INCLUDEPATH += /path/to/your/install/folder/include
LIBS += -L/path/to/your/install/folder/lib -lqrencode

三、编写二维码生成代码

示例函数,生成QImage格式的二维码:

#include <qrencode.h>
#include <QImage>
#include <QDebug>

QImage generateQRCode(const QString &content, int targetSize) {
    // 生成二维码数据:参数依次为内容、版本(0自动适配)、纠错等级、编码模式、是否区分大小写
    QRcode *qrCode = QRcode_encodeString(content.toUtf8().constData(), 0, QR_ECLEVEL_Q, QR_MODE_8, 1);
    if (!qrCode) {
        qDebug() << "二维码生成失败";
        return QImage();
    }

    // 将QRcode数据转换为QImage
    QImage qrImage(qrCode->width, qrCode->width, QImage::Format_Mono);
    uchar *imageBits = qrImage.bits();
    for (int y = 0; y < qrCode->width; y++) {
        for (int x = 0; x < qrCode->width; x++) {
            int pixelIndex = y * qrCode->width + x;
            // 二维码数据1为黑色,0为白色,反转适配QImage的Mono格式
            imageBits[pixelIndex] = (qrCode->data[pixelIndex] & 0x01) ? 0 : 255;
        }
    }

    // 释放QRcode内存
    QRcode_free(qrCode);
    // 缩放至目标尺寸
    return qrImage.scaled(targetSize, targetSize, Qt::KeepAspectRatio, Qt::SmoothTransformation);
}

调用示例(在界面中显示二维码):

// 生成200x200的二维码
QImage qrImg = generateQRCode("测试二维码内容", 200);
// 在QLabel组件中显示
ui->qrLabel->setPixmap(QPixmap::fromImage(qrImg));

常见问题解决

  • 库文件找不到:确认编译时指定的安装路径正确,且构建配置文件中的路径无误;Windows下注意区分Debug/Release版本的库,确保项目编译模式与库一致。
  • Qt Creator向导Next按钮无法启用:该向导对第三方库的识别兼容性较差,手动修改构建配置文件是更可靠的方案。
  • 链接错误:检查库的位数(32/64位)与Qt项目的编译位数是否匹配;Linux下编译libqrencode前需安装libpng-dev等依赖。

内容的提问来源于stack exchange,提问作者Arunaa GT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 13:24:57