Python生成wifi二维码,并在界面展示
使用segno,tkinter、PIL三个库,生成wifi二维码,并在界面进行展示,可通过扫描登录。
代码如下
from segno import helpers
from tkinter import *
from PIL import Image, ImageTk# 生成wifi图片
def Wifi_QR_code():Wifi_ID = txtName.get()Wifi_password = txtPassword.get()# ssid:指的是WiFi的账号 # password:指的是WiFi的密码 # security: 指的是WiFi的加密方式 # hidden: WiFi是否隐藏 # scale: 二维码的像素QR = helpers.make_wifi(ssid=Wifi_ID, password=Wifi_password, security="WPA", hidden=False)QR.save("wifi.png", scale=10)label1 = Label(Login_interface, text='生成成功!')label1.place(x=5, y=320)Login_interface.mainloop()# 展示wifi图片
def Wifi_show_code():photo0 = ImageTk.PhotoImage(file='wifi.png')label0 = Label(Login_interface, image=photo0, width=photo0.width(), height=photo0.height())label0.place(x=220, y=0)Login_interface.mainloop()# 创建主窗体
Login_interface = Tk()
Login_interface.title('wifi二维码生成') # 定义窗体的名称
screen_width = Login_interface.winfo_screenwidth() # screenwidth 读取屏幕宽度
screen_height = Login_interface.winfo_screenheight() # screenheight 读取屏幕高度
height = 350 # 新建窗体的高
width = 575 # 新建窗体的宽
# 计算屏幕的大小,并将其显示在中心
x = int(screen_width / 2 - width / 2)
y = int(screen_height / 2 - height / 2)
size = '{}x{}+{}+{}'.format(width, height, x, y)
Login_interface.geometry(size)# 创建两个labal
lblName = Label(Login_interface, text='wifi名称:')
lblName.grid(row=0, column=0, sticky=W)
lblPs = Label(Login_interface, text='wifi密码:')
lblPs.grid(row=1, column=0, sticky=W)# 创建两个txt输入框
txtName = Entry(Login_interface)
txtName.grid(row=0, column=1, sticky=E)
txtPassword= Entry(Login_interface)
txtPassword["show"] ='*'
txtPassword.grid(row=1, column=1, sticky=E)# 创建生成按钮
btn = Button(Login_interface, text='生成二维码', command=Wifi_QR_code)
btn.grid(row=2, column=0, sticky=E)# 创建展示按钮
btn = Button(Login_interface, text='展示二维码', command=Wifi_show_code)
btn.grid(row=2, column=1, sticky=E)# 主运行程序
Login_interface.mainloop()

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
