Python如何使用qrcode生成指定内容的二维码并在GUI界面显示
作者:散一世繁华,颠半世琉璃 发布时间:2022-06-29 21:41:26
标签:qrcode,生成,二维码
前言
现如今我们生活在一个二维码的时代,生活中处处都是二维码,支付要使用二维码,微信加好友要使用二维码,乘坐公共交通要使用二维码,那么,如果要你使用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.运行结果展示
使用微信扫描对应的二维码后的结果为:
总结
来源:https://blog.csdn.net/qq_51447436/article/details/126734845


猜你喜欢
- 加密算法分类 对称加密算法:对称加密采用了对称密码编码技术,它的特点是文件加密和解密使用相同的密钥发送方和接收方需要持有同一把密钥,发送消息
- 添加字段的语法:alter table tablename add (column datatype [default value][nul
- 作者:peace.zhao 关于 游标 if,for 的例子 create or replace procedure peace_if is
- 本文介绍了一个较为通用的获取 checkbox 值的方法,希望对新手有用。<script type="text/javasc
- 学习前言在SSD的框架中,除去tfrecord处理是非常重要的一环之外,slim框架的使用也是非常重要的一环,于是我开始学习slim啦sli
- folium是python的一个用来绘制地图,并在地图上打点,画圈,做颜色标记的工具类。简单易学,和pandas可以很好的融合,是居家必备良
- 本文实例为大家分享了python(列表生成式/器)的具体代码,供大家参考,具体内容如下一、列表生成式#列表生成式是快速生成一个列表的一些公式
- 目录1. 最直观的相加2. 借助 itertools3. 使用 * 解包4. 使用 extend5. 使用列表推导式6. 使用 heapq7
- 一、效果快放10倍总共分为三部分,左上角的正文,下方的心形和右下角的署名特别需要注意的一点是这种东西不但要装Python,还与分辨率有关(换
- 使用自带的函数就可以实现:lineEdit.setEchoMode(QLineEdit.Password)import structfrom
- 这种问题估计遇到的人不在少数,至少我遇到不下三次了,但每次解决后都没有形成深刻的印象,每次遇到还需要思考很久才能解决。这种情况常见的是这样的
- 今天看到了mlxtend的包,看了下example集成得非常简洁。还有一个吸引我的地方是自带了一些data直接可以用,省去了自己造数据或者找
- 1、查询语句的执行顺序select[distinct] from join(如left 
- 序言那个猥琐的家伙整天把个U盘藏着当宝,到睡觉了就拿出来插到电脑上。我决定想个办法看他U盘里都藏了什么,直接去抢U盘是不可能的,骗也是不可能
- 先上图片词云图需要模板pip install jiebapip install wordcloud还需要安装另外两个东西这两个我也不太懂借鉴
- 前言利用Python+graphics模块实现AI五子棋。让我们愉快地开始吧~~~效果展示源码import sysimport cfgfro
- 以下操作演示都是基于mysql5.6.36版本:工作中经常遇到这样的问题:mysql数据访问能量很大,想要从sql方面优化。研发经常会问到能
- OpenAI,由诸多硅谷大亨联合建立的人工智能非营利组织。2015年马斯克与其他硅谷科技大亨进行连续对话后,决定共同创建OpenAI,希望能
- 把文件夹dir1中后缀为'.jpg'的文件拷贝到文件夹dir2中:import globimport shutilimpor
- python中实现静态方法和类方法都是依赖于python的修饰器来实现的。 对象方法有self参数,类方法有cls参数,静态方法是不需要这些