⭐️Python实用小工具之制作酷炫二维码(有界面、附源码)⭐️

本文介绍了如何使用Python的myqr库创建不同类型的二维码,包括普通、黑白、彩色背景、大边长和动态二维码。同时,还展示了如何使用zxing库解析二维码。此外,还利用tkinter构建了一个二维码生成器的可视化界面,用户可以自定义输入内容、纠错级别和背景图片。
部署运行你感兴趣的模型镜像

镇楼图
请添加图片描述

写在前面

二维码的使用之处越来越多,普通的二维码,相信大家已经都司空见惯了,今天就带大家使用 Pythonmyqr 库,来制作些不一样的二维码。



制作二维码

安装myqr库

pip install -i https://pypi.douban.com/simple myqr

安装之后可以使用 pip show myqr 命令来检查是否安装成功,成功的提示应该类似于下面这样。
在这里插入图片描述

myqr.run()参数详解

我们使用 myqr.run() 来生成二维码,先看一下它的参数含义。

参数类型简义详细
wordsstr链接/字符串二维码指向的内容
versionint二维码大小边长参数,范围是1到40,默认边长是取决于你输入信息的长度和使用的纠错等级
levelstr纠错等级二维码的纠错等级,范围是L、M、Q、H,H最高,默认纠错等级为H
picturestr二维码背景图片将二维码图像与指定的图片相融合
colorizedboolean颜色指定产生的图片的颜色,True为彩色,False为黑白色。
contrastfloat对比度以1.0为界限,值越小表示对比度越低,值越大表示对比度越高
brightnessfloat亮度以1.0为界限,值越小表示对比度越低,值越大表示亮度越高
save_namestr输出文件名默认输出文件名是“qrcode.png”
save_dirstr二维码存储位置默认存储位置是当前目录

制作普通二维码

制作普通的二维码,只需要指定二维码指向的内容与保存的名称,其他参数均按照默认参数。

# 生成普通二维码
from MyQR import myqr

myqr.run(words='http://weixin.qq.com/r/6h3Ty4DETt0xrcSo90j4',
        save_name='普通二维码.png')

在这里插入图片描述

制作黑白背景二维码

如果只指定了背景图片,默认是黑白色的,效果如下。

myqr.run(words='http://weixin.qq.com/r/6h3Ty4DETt0xrcSo90j4',
         picture='bg.png',
        save_name='黑白背景二维码.png')

在这里插入图片描述

制作彩色背景二维码

使用 colorized=True 来使背景的颜色改为彩色。

myqr.run(words='http://weixin.qq.com/r/6h3Ty4DETt0xrcSo90j4',
         picture='bg.png',
         colorized=True,
        save_name='彩色背景二维码.png')

在这里插入图片描述

制作大边长二维码

之前的图片 version 默认为1,现在指定 version=20 ,图片相对于之前看起来会变的更清晰。

# 调节二维码边长
myqr.run(words='http://weixin.qq.com/r/6h3Ty4DETt0xrcSo90j4',
         version=20,
         picture='bg.png',
         colorized=True,
        save_name='彩色背景二维码(大).png')

在这里插入图片描述

制作动态二维码

这里制作一个大边长的动态二维码,要注意 gif 图片的大小(内存不是尺寸),图片太大,制作出的二维码动图速度会变慢。

# 动态二维码
myqr.run(words='http://weixin.qq.com/r/6h3Ty4DETt0xrcSo90j4',
         version=20,
         picture='bg.gif',
         colorized=True,
        save_name='彩色背景动态二维码(大).gif')

请添加图片描述



解析二维码

这里再介绍一下解析二维码的一个库 zxing ,安装方式与文章开头 myqr 相似,使用是只需要指定路径参数,函数返回解析得到的二维码内容。

import zxing

reader = zxing.BarCodeReader()
barcode = reader.decode('C:/Users/pc/Desktop/图片/test.jpg')
print(barcode.parsed)


tkinter制作可视化界面

设置界面主题

创建主组件对象,并添加标题。

window = ThemedTk(theme="adapta", fonts=True, themebg=True)
window.title('二维码生成器')

自定义组件样式

根据自己的需要,添加自己喜欢的样式,这里我添加了两款 label 的样式。

label_style = ttk.Style()
label_style.configure("one.TLabel", font=("微软雅黑", 16, 'bold'), foreground="red", background="yellow")

label_style1 = ttk.Style()
label_style1.configure("two.TLabel", font=("微软雅黑", 9), foreground="blue", background="yellow")    

添加输入框组件

输入框组件,主要负责接收输入的内容,使用 entry.get() 即可获取输入框中的内容。

# 填写二维码内容
label1 = ttk.Label(window, text=' 链接/字符串 ', style='two.TLabel')
entry = ttk.Entry(window, width=30)   

添加下拉框组件

与输入框的功能相似,也是获取用户选择的内容,同样使用 combo.get() 获取用户输入的内容。

# 纠错级别
label3 = ttk.Label(window, text=' 纠错级别 ', style='two.TLabel')
combo = AutocompleteCombobox(completevalues=['L 水平 7% 的字码可被修正',
                                            'M 水平 15% 的字码可被修正',
                                            'Q 水平 25% 的字码可被修正',
                                            'H 水平 30% 的字码可被修正'])
combo.insert('0', 'H 水平 30% 的字码可被修正')

添加选择背景组件

点击按钮,弹出资源管理器来选择图片背景, entry 框显示选择后的路径,并接收选择的路径参数。

def selectFilePath():
    global img_path
    # 选择文件path接收文件地址
    img_path = Path(filedialog.askopenfilename(title='选择背景图片'))
    path1.set(img_path)

# 选择背景图
path1 = tk.StringVar()
entry2 = ttk.Entry(window, textvariable=path1, width=30)
entry2.insert(0, '默认无')
button1 = ttk.Button(window,width=10, text = "选择背景", command = selectFilePath)

添加输出显示框组件

显示运行结果及报错等信息。

tree = ttk.Treeview(height=1, show=("tree", "headings"))

成品如下:



源码打包

虽然之前的文章中已经介绍过很多次打包的方法,但为了新读者,还是再来简单讲解一下。
首先要确保已经安装 pyinstaller,没有安装的可以先安装一下。

pip install -i https://pypi.douban.com/simple pyinstaller 

pyinstaller 使用时的常用参数含义:

-F:打包单个文件,产生一个文件用于部署(默认),如果代码都写在一个 .py 文件时使用,项目有多个文件时不要使用

pyinstaller -F xxx.py

-D:打包多个文件,产生一个目录用于部署(默认),用于框架编写的代码打包

pyinstaller -D xxx.py(项目入口文件)

–key=keys:使用 keys 进行加密打包

pyinstaller --key=123456 -F xxx.py

-d:产生 debug 版本的可执行文件

-p:用来添加程序所用到的包的所在位置,设置导入路径,可以用 ; ( Linux 使用 :)分割来指定多个目录。

-w:表示不用控制台窗口,使用 Windows 子系统执行,当程序启动的时候不会打开命令行(只对 Windows 有效)

-c:表示打开控制台窗口,使用控制台子系统执行,当程序启动的时候会打开命令行(默认)(只对 Windows 有效)

-i:将 file.ico 添加为可执行文件的资源,改变程序的图标(只对 Windows 系统有效)

安装完成后,新建一个文件夹,将源文件放到该文件夹下面,打开cmdcd 进入该文件夹下(重点),执行下面语句
在这里插入图片描述

生成的文件结构如下

exe 可执行文件在 dist 目录下
在这里插入图片描述

这就是本文所有的内容了,如果感觉还不错的话。❤ 点个赞再走吧!!!❤

在这里插入图片描述
后续会继续分享各种干货,如果感兴趣的话可以点个关注不迷路哦~。



❤️源码获取方式❤️

最后文章中的源码及打包后的文件已经放到链接下,需要的可以自己下载。
代码获取:https://download.youkuaiyun.com/download/qq_43965708/22697657

像我这么宠粉的人~当然会给关注我的粉丝们亿点小福利啦,关注下方小卡片,回复 “二维码生成器” 即可获取源码哦!

👇 👇 👇

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

Python实现一些小道具小功能(Python implements some small props) Image-Edit 几个基本的图片编辑工具,包括一下功能: 文件:打开,保存,退出 编辑:放大,缩小,灰度,亮度,旋转,截图 变换:傅里叶变换,离散余弦变换,Radon变换 噪声:高斯,椒盐,斑点,泊松 滤波:高通,低通,平滑,锐化 直方图统计:R直方图,G直方图,B直方图 图像增强:伪彩色,真彩色,直方图均衡,NTSC颜色模型,YCbCr颜色模型,HSV颜色模型 阈值分割 生态学处理 特征提取 图像分类与识别 Beautify-Camera 主要功能 文件:打开,保存,打开摄像头 操作:还原,人脸识别 滤镜:怀旧,木刻,灰色,彩色,风格化,增强细节 调节:亮度,饱和度,伽马变换,边缘保持 磨皮美白:美白度,磨皮程度,磨皮精度 灰度直方图 Calculator 主要功能 基本的加减乘除和开根号等运算 Painting绘画 主要功能 File:新建画板,打开图片,保存图片 Edit:复制,清空画板 Image:翻转 工具:基本画笔,橡皮擦,图形创建工具等 编辑区,色彩调节区,字体调节区等 NotePad 主要功能 基本文本编辑,类似于记事本 RandomPassWord 主要功能 随机生成一串密码,包括大小写字母,数字,符号,可指定长度 Browser 主要功能 基本浏览器功能 MusicPlayer 主要功能 音乐播放器 PyTunes 主要功能 轻量级音乐播放器
评论 59
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Dream丶Killer

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

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

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

打赏作者

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

抵扣说明:

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

余额充值