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


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

    1.下载所需的模块

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

    pip install qrcode
    pip install tkinter
    
    • 1
    • 2

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

    import qrcode
    import tkinter
    
    • 1
    • 2

    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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    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() # 使窗体一直运行
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    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()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    5.运行结果展示

    在这里插入图片描述

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

  • 相关阅读:
    前端框架基础——Vue.js
    管家婆订货易在线商城任意文件上传漏洞复现
    Hbase深入实践实战,理论与实战结合
    RocketMQ源码分析(十四)之IndexFile
    (十六)51单片机——红外遥控
    8个很棒的Vue开发技巧
    故障分析 | MySQL 节点宕机分析一例
    application3个文件的区分
    代数、图算法:图基础
    异步FIFO
  • 原文地址:https://blog.csdn.net/qq_51447436/article/details/126734845