qrcode 库的使用
目前python3.x应用的较多,但是python2、python3之间总是容易出现依赖包版本不兼容等的问题导致程序无法运行。
在使用qrcode库制作二维码生成器的时候,就遇到了这样的问题,慢慢说来
首先展示一下做出来的二维码生成器是什么样子
其实生成二维码的指令很简单,我这里多加了一个界面来实现就更加人性化。
在使用qrcode库之前首先要安装这个库,以及这个库的依赖库
在cmd里,直接执行三步,安装所需要的库
pip install qrcode
pip install image
pip install pillow
只要网络畅通都能安装成功
如果网络不够畅通建议更换下载源
下面放ubuntu和win10 更换下载源的方法
ubuntu:https://blog.csdn.net/weixin_44893585/article/details/89885121
win10:https://jingyan.baidu.com/article/3d69c55127775af0cf02d79e.html
还有这个也是win10的
https://blog.csdn.net/qq_15969343/article/details/79057042
成功安装库之后,代码如下
import qrcode
import tkinter as tk
from PIL import Image,ImageTk
class MY_QRCODE():
def __init__(self,name):
self.name = name
def set_init_tk(self):
self.name.title("网页生成二维码")
self.name.geometry("400x450+300+100")
self.urlin= tk.StringVar()
self.url=tk.Entry(self.name,width = 50,textvariable = self.urlin)
self.url.pack(pady=10)
self.urlin.set("在此输入网站url")
self.pathout = tk.StringVar()
self.savepath = tk.Entry(self.name,width = 50,textvariable = self.pathout)
self.savepath.pack(pady=10)
self.pathout.set("在此输入要保存二维码的文件名")
self.getButton = tk.Button(self.name,width = 10,height = 1,bg='pink',text="获取二维码",command= self.getQrcode)
self.getButton.pack(pady=10)
self.frame = tk.Label(self.name)
self.frame.pack(pady=10)
def getQrcode(self): //生成二维码
qr = qrcode.QRCode(
version=2,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=1
)
qr.add_data(self.urlin.get())
qr.make(fit = True)
img = qr.make_image()
self.path = 'E:/empory/' + self.savepath.get()
img.save(self.path)
self.showQr()
def showQr(self)://展示生成的二维码
load = Image.open(self.path)
render = ImageTk.PhotoImage(load)
self.frame.config(image = render)
self.frame.image=render
master = tk.Tk()
qrtk = MY_QRCODE(master)
qrtk.set_init_tk()
master.mainloop()
from PIL import Image,ImageDraw问题的解决
from PIL install Image总是报错
因为PIL库目前只更新到python2.x,故python3.x直接安装PIL库会找不到版本。但是python3.x有pillow库可以提供和PIL差不多的功能。
大家都认为pip install pillow
就可以,但实际上不然。
我在pycharm的settings里面查看到,pillow是已经装好的,且重启试过之后仍然报错。
并且在cmd里面开启python3使用以下指令测试
import PIL
from PIL import Image
都是成功的,如下图
后来终于参考这个链接成功解决
https://blog.csdn.net/qq_28392015/article/details/82809276
其实,在python3里面应该安装Pillow库,因此把之前的pillow 卸载,重新安装Pillow之后,导入到pycharm可用,程序才能正常运行
pip uninstall pillow
python -m pip install Pillow //成功解决