python内置的GUI编程tkinter小巧灵活,本文以密码码器示例,所有注册的用户皆会被持久化
流程
用户登录/注册,成功则提示欢迎语,不正确或密码错误有相应警告
不存在帐户则提醒注册,并回调子页面注册,需要密码确认,注册已存在用户会被提醒
结构
两个window窗口,一个负责主界面引入了背景图,一个子负责注册账号密码,ui以tk为后缀名。event为tk的事件回调,store以pickle字典序列化存储类,usrs.pickle为持久化存储
entry
│ event.py
│ login_tk.py
│ sign_up_tk.py
│ store.py
│ usrs.pickle
│
├─.vscode
│ settings.json
│
├─img
│ coffee.png
│ java_classLoader.gif
│ web_spring.png
│ yms3mhzsf22.jpg
│
└─__pycache__
event.cpython-37.pyc
login.cpython-37.pyc
sign_up_tk.cpython-37.pyc
store.cpython-37.pyc
入口UI
login_tk.py
from tkinter import *
from tkinter import ttk
from event import login
from sign_up_tk import usr_sign_up
"""
定义界面
"""
# 1. 根实例
root = Tk()
root.title("Wellcome to Login")
root.geometry('400x350')
# 2.加载图片
canvas = Canvas(root, width=400, height=150, bg='green')
image_file = PhotoImage(file='img/coffee.png')
image = canvas.create_image(200, 0, anchor='n', image=image_file)
# 指定绘制方向
canvas.pack(side='top')
# 文本语录
ttk.Label(root, text='欢迎使用密码器', font=('Arial', 16)).pack()
# 3.用户静态文本
ttk.Label(root, text='用户:', font=('Arial',