Commit 7e61f4df by BellCodeEditor

auto save

parent 3cf2c0ce
Showing with 37 additions and 29 deletions
...@@ -3,8 +3,6 @@ from tkinter import * ...@@ -3,8 +3,6 @@ from tkinter import *
from tkinter import messagebox from tkinter import messagebox
import json import json
alist = ["星期六下午打篮球", "星期天下午和小美一起看电影",
"12月18日给蒂法过生日", "12.24送妈妈圣诞礼物"]
class Note(): # 便签、笔记 class Note(): # 便签、笔记
def __init__(self): def __init__(self):
...@@ -13,7 +11,7 @@ class Note(): # 便签、笔记 ...@@ -13,7 +11,7 @@ class Note(): # 便签、笔记
self.root.title("我的便签-待办事项") self.root.title("我的便签-待办事项")
self.root.resizable(width=False, height=False) self.root.resizable(width=False, height=False)
self.bg_img = tkinter.PhotoImage(file="bg.png") self.bg_img = tkinter.PhotoImage(file="bg.png")
self.box=PhotoImage(file='box.png') self.box = PhotoImage(file='box.png')
def show(self): # 布置窗口界面 def show(self): # 布置窗口界面
# 画布 # 画布
...@@ -30,42 +28,45 @@ class Note(): # 便签、笔记 ...@@ -30,42 +28,45 @@ class Note(): # 便签、笔记
self.but.place(x=240, y=305) self.but.place(x=240, y=305)
# 展示所有的文字 # 展示所有的文字
self.y = 20 self.y = 20
self.val=0 self.val = 0 # 单选框的value参数
self.v=IntVar() self.v = IntVar() # 设置关联变量
for info in alist: for info in alist:
self.canvas.create_text(40, self.y, text=info, self.canvas.create_text(40, self.y, text=info,
font=("宋体", 11), anchor=W, fill='#FF9900') font=("宋体", 11), anchor=W, fill='#FF9900')
self.select=tkinter.Radiobutton(self.canvas,image=self.box,value=self.val,variable=self.v,width=25,height=15,borderwidth=0,command=self.remove) # 单选框组件
self.select = tkinter.Radiobutton(self.canvas,image=self.box,
value=self.val,variable=self.v,width=25, height=15,
borderwidth=0,command=self.remove)
self.select.place(x=-20,y=self.y-10) self.select.place(x=-20,y=self.y-10)
self.val+=1 self.val += 1
self.y += 30 self.y += 30
def remove(self): def remove(self): # 清除选中的任务事件
num =self.v.get() num = self.v.get()
alist.pop(num) alist.pop(num)
content=json.dumps(users)
with open("user.txt","w",encoding="utf8") as file:
file.write(content)
self.canvas.destroy() self.canvas.destroy()
app.show() app.show()
def get_info(self): def get_info(self):
info = self.ent.get() info = self.ent.get()
self.ent.delete("0", END) self.ent.delete("0", END)
if info != "": if info != "":
alist.append(info) alist.append(info)
with open("user.txt","w",encoding="utf8") as file:
file.write(content)
self.canvas.create_text(40,self.y,text=info,font=("宋体",11), self.canvas.create_text(40,self.y,text=info,font=("宋体",11),
anchor=W, fill='#FF9900') anchor=W, fill='#FF9900')
self.select=tkinter.Radiobutton(self.canvas,image=self.box,value=self.val,variable=self.v,width=25,height=15,borderwidth=0) # 单选框组件
self.select = tkinter.Radiobutton(self.canvas,image=self.box,
value=self.val,variable=self.v,width=25, height=15,
borderwidth=0,command=self.remove)
self.select.place(x=-20,y=self.y-10) self.select.place(x=-20,y=self.y-10)
self.val+=1 self.val += 1
self.y += 30 self.y += 30
app = Note()
app.show()
app.root.mainloop()
with open("user.txt", "r", encoding="utf-8") as f: with open("user.txt", "r", encoding="utf-8") as f:
info = f.read() info = f.read()
users = json.loads(info) users = json.loads(info)
...@@ -90,8 +91,12 @@ def register(): # 注册验证 ...@@ -90,8 +91,12 @@ def register(): # 注册验证
messagebox.showwarning("错误", "用户名已经存在!") messagebox.showwarning("错误", "用户名已经存在!")
elif password1 != password2: elif password1 != password2:
messagebox.showwarning("错误", "两次密码不一致!") messagebox.showwarning("错误", "两次密码不一致!")
else: else: # 通过验证
users[name] = password1 user_info = {}
user_info["password"] = password1
user_info["event"] = ["提示1:可以从输入框添加新任务",
"提示2:点击前面选择框,表示任务完成"]
users[name] = user_info
content = json.dumps(users) content = json.dumps(users)
with open("user.txt", "w", encoding="utf-8") as file: # "w"每次写入都覆盖原来的内容 with open("user.txt", "w", encoding="utf-8") as file: # "w"每次写入都覆盖原来的内容
file.write(content) file.write(content)
...@@ -100,10 +105,15 @@ def register(): # 注册验证 ...@@ -100,10 +105,15 @@ def register(): # 注册验证
reg_to_login() reg_to_login()
def login(): # 登录验证 def login(): # 登录验证
global app,alist
name, password = app_login.get_input() name, password = app_login.get_input()
pwd = users.get(name) user_name = users.get(name)
if pwd == password: if user_name != None and user_name["password"]==password:
messagebox.showinfo("成功", "登录成功") alist=users[name]["event"]
app_login.root.destroy()
app = Note()
app.show()
app.root.mainloop()
else: else:
messagebox.showwarning("错误", "用户名或密码错误!") messagebox.showwarning("错误", "用户名或密码错误!")
...@@ -198,5 +208,4 @@ class My_register(): # 注册窗口 ...@@ -198,5 +208,4 @@ class My_register(): # 注册窗口
return self.name, self.password1, self.password2 return self.name, self.password1, self.password2
app_login = My_login() app_login = My_login()
app_login.show() app_login.show()
\ No newline at end of file
{"admin": "admin", "python": "123456", "mnm": {"password": "123", "event": ["\u63d0\u793a1\uff1a\u53ef\u4ee5\u4ece\u8f93\u5165\u6846\u6dfb\u52a0\u65b0\u4efb\u52a1", "\u63d0\u793a2\uff1a\u70b9\u51fb\u524d\u9762\u9009\u62e9\u6846\uff0c\u8868\u793a\u4efb\u52a1\u5b8c\u6210"]}, "bill": {"password": "123", "event": ["\u63d0\u793a1\uff1a\u53ef\u4ee5\u4ece\u8f93\u5165\u6846\u6dfb\u52a0\u65b0\u4efb\u52a1", "\u63d0\u793a2\uff1a\u70b9\u51fb\u524d\u9762\u9009\u62e9\u6846\uff0c\u8868\u793a\u4efb\u52a1\u5b8c\u6210"]}, "san": {"password": "123", "event": ["\u63d0\u793a1\uff1a\u53ef\u4ee5\u4ece\u8f93\u5165\u6846\u6dfb\u52a0\u65b0\u4efb\u52a1", "\u63d0\u793a2\uff1a\u70b9\u51fb\u524d\u9762\u9009\u62e9\u6846\uff0c\u8868\u793a\u4efb\u52a1\u5b8c\u6210"]}}
\ 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