1.首先导入qrcode库,直接用pip下载就行
pip install qrcode
如果导包没有报错就说明安装成功
2.制作字符串转换的二维码
这里还要借助 datetime 和 getpass 两个库,来获取带时间的图片名和系统的用户名
import qrcode
import datetime # 导入datetime库用于生成带时间的图片名
import os, getpass # 导入getpass库用于获取系统的用户名
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
# wangzhi = ('https://baidu.com')
qr.add_data('https://baidu.com')
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
# 获取当前时间
timenow = datetime.datetime.now()
# 转换成字符串
timestr = timenow.strftime("%Y-%m-%d-%H-%M-%S")
# 生成带时间的二维码图片名,保存在桌面上
qrname = "C:\\Users\\{0}\\Desktop\\{1}.png".format(getpass.getuser(),timestr)
print("Save as :", qrname)
# 保存二维码图片
img.save(qrname)
print("Success!")
输入需要转换的网址即可生成二维码,并以时间为名保存在桌面
扫描上图即可进入csdn的主页
3.然后用GUI封装一下
import qrcode
import datetime # 导入datetime库用于生成带时间的图片名
import os, getpass # 导入getpass库用于获取系统的用户名
import tkinter as tk
import tkinter
import pickle
from tkinter import messagebox
# import qrcode # 导入qrcode库, 用于生成二维码
# import datetime # 导入datetime库用于生成带时间的图片名
# import os, getpass # 导入getpass库用于获取系统的用户名
# 实例化窗口
window=tk.Tk()
# 定义窗口标题
window.title('自定义二维码')
# 定义窗口大小
window.geometry('450x300')
# 定义网址,文字的文本位置
tk.Label(window,text='网址').place(x=50,y=150)
tk.Label(window,text='文字').place(x=50,y=190)
# 定义网址窗口
new_wangzhi=tk.StringVar()
new_wangzhi.set('http://www.') # 定义网址窗口默认显示内容
new_wangzhi=tk.Entry(window,textvariable=new_wangzhi)
new_wangzhi.place(x=160,y=150)
# 定义文字窗口
new_wenzi=tk.StringVar()
new_wenzi=tk.Entry(window,textvariable=new_wenzi)
new_wenzi.place(x=160,y=190)
# 网址转换二维码
def one():
qr = qrcode.QRCode(
version=1,
error_correction=qrcode.constants.ERROR_CORRECT_L,
box_size=10,
border=4,
)
wangzhi = new_wangzhi.get()
qr.add_data(wangzhi)
qr.make(fit=True)
img = qr.make_image(fill_color="black", back_color="white")
# 获取当前时间
timenow = datetime.datetime.now()
# 转换成字符串
timestr = timenow.strftime("%Y-%m-%d-%H-%M-%S")
# 生成带时间的二维码图片名,保存在桌面上
qrname = "C:\\Users\\{0}\\Desktop\\{1}.png".format(getpass.getuser(),timestr)
print("Save as :", qrname)
# 保存二维码图片
img.save(qrname)
messagebox.showinfo( "保存成功!")
# 字符串转换二维码
def two():
# 输入待转换的字符串
wenzi = new_wenzi.get()
# qrstr = input(wenzi)
# print("Input :" + qrstr)
# 采用默认方式生成二维码
img = qrcode.make(wenzi)
# 获取当前时间,转化成字符串
timenow = datetime.datetime.now()
timestr = timenow.strftime("%Y-%m-%d-%H-%M-%S")
# 生成带时间的二维码图片名,图片保存在桌面上
qrname = "C:\\Users\\{0}\\Desktop\\{1}.png".format(getpass.getuser(), timestr)
# print("Save as :", qrname)
img.save(qrname)
messagebox.showinfo( "保存成功!")
# 定义 生成 按钮
btn_sign_up=tk.Button(window,text='网址转换',command=one)
btn_sign_up.place(x=310,y=145)
btn_sign_up=tk.Button(window,text='文字转换',command=two)
btn_sign_up.place(x=310,y=185)
window.mainloop()