Commit e70c7878 by BellCodeEditor

auto save

parent 398f49c3
import tkinter
import json
from tkinter import messagebox
with open('user.txt','r',encoding='utf-8')as file:
content = file.read()
users = json.loads(content)
def login_to_reg(): # 登录界面转注册界面
app_login.root.destroy()
global app_reg
app_reg = My_register()
app_reg.show()
def reg_to_login(): # 注册界面转登录界面
app_reg.root.destroy()
global app_login
app_login = My_login()
app_login.show()
def register(): # 注册验证
name,password1,password2 = app_reg.get_input()
if name =='' or password1 == '' or password2 == '':
messagebox.showwarning('警告','请填写完整的信息')
elif name in users:
messagebox.showwarning('错误','用户名已经存在')
elif password1 != password2:
messagebox.showerror('错误','两次密码不一致')
else:
users[name] = password1
content = json.dumps(users)
with open('user.txt','w',encoding='utf-8')as file:
file.write(content)
messagebox.showinfo('成功','注册成功')
reg_to_login()
def login(): # 登录验证
pass
class My_login(): # 登录窗口
def __init__(self):
self.root = tkinter.Tk()
self.root.title("登录窗口")
self.root.geometry('400x300+500+300')
self.root.resizable(width=False, height=False) # True可以拉伸,False不能拉伸
def show(self): # 登录界面的所有控件
# Label文本标签,界面提示信息
l = tkinter.Label(self.root, text='您好!请登录', bg='green',
font=('宋体', 15), width=40, height=2)
l.place(x=0, y=0)
l = tkinter.Label(self.root, text='用户名:', font=("宋体", 12),
fg="black")
l.place(x=50, y=80)
l = tkinter.Label(self.root, text='密 码:', font=("宋体", 12),
fg="black")
l.place(x=50, y=140)
# Entry单行文本输入框:用户名、密码
self.e1 = tkinter.Entry(self.root, show=None, font=('宋体', 14),
bg="light grey", width=18) # 显示成明文形式
self.e2 = tkinter.Entry(self.root, show='*', font=('宋体', 14),
width=18) # 显示成密文形式
self.e1.place(x=120, y=80)
self.e2.place(x=120, y=140)
# 登录、注册按钮
button1 = tkinter.Button(self.root, text='登录', bg="lightblue",
fg="black", width=15, command=login)
button1.place(x=60, y=220)
button1 = tkinter.Button(self.root, text='注册', bg="lightgreen",
fg="black", width=15, command=login_to_reg)
button1.place(x=230, y=220)
# 进入消息循环,监听事件
self.root.mainloop()
def get_input(self): # 获取输入的用户名、密码
self.name = self.e1.get()
self.password = self.e2.get()
return self.name, self.password
class My_register(): # 注册窗口
def __init__(self):
self.root = tkinter.Tk()
self.root.title("注册窗口")
self.root.geometry('400x320+500+300')
self.root.resizable(width=False, height=False) # True可以拉伸,False不能拉伸
def show(self): # 注册界面的所有控件
# 用户名、密码、确认密码输入框
self.e1 = tkinter.Entry(self.root, show=None, font=('宋体', 14),
bg="light grey", width=18) # 显示成明文形式
self.e1.place(x=140, y=80)
self.e2 = tkinter.Entry(self.root, show='*', font=('宋体', 14),
width=18)
self.e2.place(x=140, y=140)
self.e3 = tkinter.Entry(self.root, show='*', font=('宋体', 14),
width=18)
self.e3.place(x=140, y=200)
# Label文本标签,窗口界面文字:用户名、密码、确认密码
lab = tkinter.Label(self.root, text='您好!请填写注册信息',
font=('宋体', 15),fg="black", width=40, height=2, bg="green")
lab.place(x=0, y=0)
lab1 = tkinter.Label(self.root, text='用户名:', font=("宋体", 12),
fg="black")
lab1.place(x=60, y=80)
lab2 = tkinter.Label(self.root, text='密 码:', font=("宋体", 12),
fg="black")
lab2.place(x=60, y=140)
lab3 = tkinter.Label(self.root, text='确认密码:', font=("宋体", 12),
fg="black")
lab3.place(x=50, y=200)
# 注册界面的提交、取消按钮
button1 = tkinter.Button(self.root, text='提交', bg="lightblue",
width=15,command=register)
button1.place(x=230, y=250)
button1 = tkinter.Button(self.root, text='取消', bg="lightgreen",
width=15, command=reg_to_login)
button1.place(x=80, y=250)
# 进入消息循环
self.root.mainloop()
def get_input(self): # 获取提交的注册信息
self.name = self.e1.get()
self.password1 = self.e2.get()
self.password2 = self.e3.get()
return self.name, self.password1, self.password2
app_login = My_login()
app_login.show()
\ No newline at end of file
a.png

95.1 KB

bg1.gif

17.4 KB

......@@ -10,15 +10,12 @@ class Note(): # 便签、笔记
self.root.geometry('300x340+1000+200')
self.root.title("我的便签-待办事项")
self.root.resizable(width=False, height=False)
# self.bg_img = tkinter.PhotoImage(file='bg.png') # 加载图片
self.bg_img = tkinter.PhotoImage(file='a.png') #gif
def show(self): # 布置窗口界面
self.canvas = tkinter.Canvas(
self.root, width=300, height=340, bg='lightgreen')
# tkinter.Label(self.root,image='/Users/lego/Documents/level3-lesson19-diy1/bg.png')
self.canvas.create_image(0, 0, image='/Users/lego/Desktop/bg.png', anchor=NW)
self.canvas.place(x=0, y=0)
self.canvas = tkinter.Canvas(self.root,width=300,height=340,bg='lightgreen')
self.canvas.create_image(0,0,image=self.bg_img,anchor = NW)
self.canvas.place(x = 0,y = 0)
# 输入框
self.ent = tkinter.Entry(self.root, show=None,
font=('宋体', 13), bg="snow", width=25)
......@@ -28,20 +25,17 @@ class Note(): # 便签、笔记
bg="lightblue", width=5, command=self.get_info)
self.but.place(x=240, y=305)
# 展示所有文字
#展示所有文字
self.y = 20
for info in alist:
self.canvas.create_text(
40, self.y, text=info, font=12, anchor=W, fill='#FF9900')
self.canvas.create_text(40,self.y,text=info,anchor=W,fill = '#111111')
self.y += 30
def get_info(self):
info = self.ent.get()
if info != '':
alist.append(info)
self.ent.delete('0', END)
self.canvas.create_text(
40, self.y, text=info, font=12, anchor=W, fill='#FF9900')
self.ent.delete('0',END)
self.canvas.create_text(40,self.y,text=info,anchor=W,fill = '#111111')
self.y += 30
......
import tkinter
root = tkinter.Tk()
root.geometry('300x340+1000+200')
root.title("我的便签-待办事项")
root.mainloop()
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment