使用qrcode生成指定内容的二维码并在GUI界面显示

现如今我们生活在一个二维码的时代,生活中处处都是二维码,支付要使用二维码,微信加好友要使用二维码,乘坐公共交通要使用二维码,那么,如果要你使用python语言生成指定内容的二维码,你该怎么做呢?下面我就来带你走进qrcode的世界吧!

1.下载所需的模块

qrcode是二维码生成的Python开源库,而kinter模块(“Tk 接口”)是Python的标准Tk GUI工具包的接口。

pip install qrcode
pip install tkinter

下载完毕后在相应的项目中导入相应的模块即可

import qrcode
import tkinter

2.生成指定内容的二维码

函数描述
qrcode.QRCode()生成一个QRCode实例
add_data(content)将content内容添加到QRCode实例中
make()生成指定内容的二维码
make_image()生成二维码图片
save(path)将指定图片保存到path路径下
def mk_qrcode(content):
    q = qrcode.QRCode()#创建一个QRCode实例
    q.add_data(content)# 给二维码添加内容
    q.make() #生成二维码
    #生成图片
    img = q.make_image()
    # 保存图片
    img.save(filename)

3.加载二维码到GUI窗口上显示

函数描述
tkinter.Tk()生成一个窗体对象
tkinter.Canvas()生成一个画布对象
tkinter.PhotoImage()创建一个图片对象
create_image()将图片加载到画布上
pack()显示画布
mainloop()使窗体一直运行

具体代码如下所示:

def show():
    tk = tkinter.Tk() # 创建一个窗体对象
    canvas = tkinter.Canvas(tk, width=400, height=400, bg='pink') #创建一个画布
    img = tkinter.PhotoImage(file=filename) # 创建一个图片对象
    canvas.create_image(200, 200, image=img) #将此图片加载到画布上
    canvas.pack() #显示画布
    tk.mainloop() # 使窗体一直运行

4.全部代码展示

import qrcode
import tkinter

filename = '二维码.png'

def mk_qrcode(content):
    q = qrcode.QRCode()
    q.add_data(content)# 给二维码添加内容
    q.make() #生成二维码
    #生成图片
    img = q.make_image()
    # 保存图片
    img.save(filename)

def show():
    tk = tkinter.Tk() # 创建一个窗体对象
    canvas = tkinter.Canvas(tk, width=400, height=400, bg='pink') #创建一个画布
    img = tkinter.PhotoImage(file=filename) # 创建一个图片对象
    canvas.create_image(200, 200, image=img) #将此图片加载到画布上
    canvas.pack() #显示画布
    tk.mainloop() # 使窗体一直运行

if __name__ == '__main__':
    result = input('请输入指定内容:').strip()
    mk_qrcode(result)
    show()

5.运行结果展示

在这里插入图片描述

使用微信扫描对应的二维码后的结果为:
在这里插入图片描述

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

散一世繁华,颠半世琉璃

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值