介绍

​ 简单的QR 码生成器应用程序仅使用Python编程语言开发。此应用程序是一种用户友好的系统。系统为您提供了生成二维码的基本功能。要生成二维码,您需要先输入一个 url 链接,例如(baidu.com)。输入网址后,只需点击生成按钮,它就会自动生成二维码。二维码是 svg 格式,您需要一个二维码扫描器来读取代码,它会自动将您重定向到 url 站点。

所需要的库

  1. pyqrcode:pip install pyqrcode
  2. png:pip install pypng

不带图形界面源码

这里生成的是png格式的图片。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# -*- coding: utf-8 -*-
"""
@Time : 2022/12/30 10:30
@Author : daokunn
@File :QR_CODE.py
@IDE :PyCharm
@Motto: Don’t cry over spilt milk.
"""
import pyqrcode
import png # pip install pypng
# from pyqrcode import QRCode

def generate():
s = input('请输入内容:')
url = pyqrcode.create(s)
#print(s)
r = s[0:-4] # 去除后缀之后,创建图片
#print(r)
url.png("{}.png".format(r), scale = 8)

if __name__ == '__main__':
generate()

无图形化

图形化界面源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
from tkinter import *
import pyqrcode
import png # pip install pypng
from pyqrcode import QRCode


root = Tk()
root.title("二维码生成") # 窗口标题
width = 400 # 宽
height = 280 # 高
screen_width = root.winfo_screenwidth()
screen_height = root.winfo_screenheight()
x = (screen_width/2) - (width/2)
y = (screen_height/2) - (height/2)
root.geometry("%dx%d+%d+%d" % (width, height, x, y))
root.resizable(0, 0)


#==============================变量======================================
qrname = StringVar()


#==============================功能======================================
# 主体函数,生成二维码
def generate(event=None):
s = qrname.get()
url = pyqrcode.create(s)
#print(s)
r = s[0:-4] # 去除后缀之后,创建图片
#print(r)
url.svg("{}.svg".format(r), scale = 8)


#==============================FRAMES=========================================
Top = Frame(root, bd=2, relief=RIDGE)
Top.pack(side=TOP, fill=X)
Form = Frame(root, height=200)
Form.pack(side=TOP, pady=20)


#==============================LABELS=========================================
lbl_title = Label(Top, text = "二维码生成小工具", font=('arial', 15))
lbl_title.pack(fill=X)
lbl_qrurl = Label(Form, text = "输入网址:", font=('arial', 14), bd=15)
lbl_qrurl.grid(row=0, sticky="e")


#==============================ENTRY WIDGETS标签==================================
qrurl = Entry(Form, textvariable=qrname, font=(14))
qrurl.grid(row=0, column=1)


#==============================按钮=================================
btn_generate = Button(Form, text="Generate", width=45, command=generate)
btn_generate.grid(pady=25, row=2, columnspan=2)
btn_generate.bind('<Return>', generate)



#==============================INITIALIATION==================================
if __name__ == '__main__':
root.mainloop()

QR生成小程序

baidu