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

作者:散一世繁华,颠半世琉璃 时间:2022-06-29 21:41:26 

前言

现如今我们生活在一个二维码的时代,生活中处处都是二维码,支付要使用二维码,微信加好友要使用二维码,乘坐公共交通要使用二维码,那么,如果要你使用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.运行结果展示

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

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

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

总结 

来源:https://blog.csdn.net/qq_51447436/article/details/126734845

标签:qrcode,生成,二维码
0
投稿

猜你喜欢

  • sql server删除前1000行数据的方法实例

    2024-01-18 14:47:39
  • 详解duck typing鸭子类型程序设计与Python的实现示例

    2022-12-26 07:12:19
  • js实现input+select组合 抛砖引玉

    2010-08-02 12:34:00
  • Python下调用Linux的Shell命令的方法

    2023-08-10 01:43:17
  • Ext.js源码研读总结

    2009-03-04 12:06:00
  • php实现pdo数据库操作类过程详解

    2023-05-25 11:15:05
  • GO语言利用K近邻算法实现小说鉴黄

    2023-06-21 17:15:25
  • vuex中使用对象展开运算符的示例

    2024-05-28 15:59:44
  • 解决Git Bash中文乱码的问题

    2023-04-07 09:50:40
  • Python数据可视化实现多种图例代码详解

    2022-02-11 04:01:38
  • Python如何存储数据到json文件

    2023-11-24 14:31:12
  • Golang中goroutine和channel使用介绍深入分析

    2023-07-07 16:51:48
  • asp函数InstrRev()介绍及获取文件名例子

    2007-11-19 19:01:00
  • 如何在一段文字里点一下就可以在里面插入一段文字?

    2024-04-19 09:55:31
  • Python采集情感音频的实现示例

    2023-06-11 23:17:10
  • oracle11g卸载完整图文教程

    2024-01-26 18:23:42
  • python实现的文件夹清理程序分享

    2021-07-20 07:58:57
  • Python连接mysql方法及常用参数

    2024-01-15 00:33:54
  • 掀起抛弃IE6的高潮吧

    2009-02-26 12:44:00
  • Python用requests库爬取返回为空的解决办法

    2021-10-30 04:54:29
  • asp之家 网络编程 m.aspxhome.com