python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > qrcode生成指定内容二维码

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

作者:散一世繁华,颠半世琉璃

现在二维码很流行,大街小巷大小商品广告上的二维码标签都随处可见,下面这篇文章主要给大家介绍了关于如何使用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.运行结果展示

使用微信扫描对应的二维码后的结果为:

总结 

到此这篇关于如何使用qrcode生成指定内容的二维码并在GUI界面显示的文章就介绍到这了,更多相关qrcode生成指定内容二维码内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文