怎样用Python生成二维码?qrcode库安装使用教程

来源:AI视频音频作者:湖南程序员头衔:程序员
导读:本期聚焦于小伙伴创作的《怎样用Python生成二维码?qrcode库安装使用教程》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《怎样用Python生成二维码?qrcode库安装使用教程》有用,将其分享出去将是对创作者最好的鼓励。

在Python开发中,生成二维码是很多项目会涉及的功能,比如生成支付码、信息分享码等,qrcode库是专门用来实现该功能的轻量级工具,使用简单且功能丰富,能够满足大部分场景的二维码生成需求。

怎样用Python生成二维码?qrcode库安装使用教程

qrcode库安装方法

qrcode库支持通过pip包管理工具快速安装,打开终端执行以下命令即可完成安装:

# 安装qrcode库,同时会自动安装依赖的Pillow库用于图像处理
pip install qrcode[pil]

如果只需要基础功能,也可以只安装qrcode核心库,不过建议安装带pil后缀的版本,方便后续对二维码样式进行自定义调整。

基础二维码生成

安装完成后,只需要几行代码就可以生成最基础的二维码,以下是生成包含文本信息的二维码示例:

import qrcode

# 创建QRCode对象
qr = qrcode.QRCode(
    version=1,  # 二维码版本,1-40,数值越大尺寸越大
    error_correction=qrcode.constants.ERROR_CORRECT_L,  # 纠错级别,L为7%容错
    box_size=10,  # 每个小格子的像素大小
    border=4,  # 边框宽度,默认是4
)
# 添加数据
qr.add_data("这是用Python生成的第一个二维码")
# 编译数据
qr.make(fit=True)

# 生成二维码图像
img = qr.make_image(fill_color="black", back_color="white")
# 保存图像
img.save("basic_qrcode.png")

运行上述代码后,会在当前目录生成名为basic_qrcode.png的二维码图片,用手机扫描即可看到对应的文本内容。

自定义二维码样式

qrcode库支持自定义二维码的前景色、背景色,还可以调整二维码的尺寸,以下是自定义样式的示例:

import qrcode

# 直接调用make方法快速生成二维码
qr_img = qrcode.make(
    data="https://ipipp.com",  # 二维码包含的内容,这里替换为目标网址
    version=3,
    error_correction=qrcode.constants.ERROR_CORRECT_H,  # 最高纠错级别,支持30%容错
    box_size=15,
    border=2,
    fill_color="blue",  # 前景色设为蓝色
    back_color="#f0f0f0"  # 背景色设为浅灰色
)
qr_img.save("custom_qrcode.png")

生成带logo的二维码

如果需要生成带品牌logo的二维码,可以结合Pillow库实现,需要注意的是logo尺寸不能过大,否则会影响二维码的识别:

import qrcode
from PIL import Image

# 生成基础二维码
qr = qrcode.QRCode(
    version=5,
    error_correction=qrcode.constants.ERROR_CORRECT_H,  # 带logo需要高纠错级别
    box_size=10,
    border=4
)
qr.add_data("带logo的二维码示例")
qr.make(fit=True)
qr_img = qr.make_image(fill_color="black", back_color="white").convert("RGBA")

# 打开logo图片
logo = Image.open("logo.png")  # 替换为你的logo路径
# 调整logo尺寸,最大不超过二维码的1/5
qr_width, qr_height = qr_img.size
logo_size = int(qr_width / 5)
logo = logo.resize((logo_size, logo_size), Image.Resampling.LANCZOS)

# 计算logo放置位置,居中显示
logo_pos = ((qr_width - logo_size) // 2, (qr_height - logo_size) // 2)
# 将logo粘贴到二维码上
qr_img.paste(logo, logo_pos, logo)

# 保存带logo的二维码
qr_img.save("qrcode_with_logo.png")

常见问题说明

  • 二维码无法识别:检查纠错级别是否过低,或者logo尺寸过大,建议纠错级别设为H,logo尺寸不超过二维码的1/4
  • 中文内容乱码:qrcode库默认支持UTF-8编码,只要添加的中文内容是UTF-8格式就不会出现乱码问题
  • 生成速度慢:如果二维码版本过高(version数值大)或者box_size设置过大,会增加生成时间,可根据实际需求调整参数

参数说明表

参数名含义可选值
version二维码版本,决定二维码尺寸1-40,None表示自动适配
error_correction纠错级别ERROR_CORRECT_L(7%)、M(15%)、Q(25%)、H(30%)
box_size每个小格子的像素数正整数,默认10
border边框宽度正整数,默认4
fill_color二维码前景色颜色名称或十六进制颜色码
back_color二维码背景色颜色名称或十六进制颜色码

Pythonqrcode二维码生成二维码修改时间:2026-07-07 19:48:28

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。