import socket import json import threading from tkinter import * from tkinter import messagebox from sign import SignPage from delete import DeletePage class LoginPage: def __init__(self,master): self.root=master self.root.geometry('300x180') self.root.title("登录页") self.page=Frame(self.root) self.page.pack() self.username=StringVar() self.password=StringVar() Label(self.page).grid(row=0,column=0) Label(self.page,text='账户:').grid(row=1,column=1) Entry(self.page,textvariable=self.username).grid(row=1,column=2) Label(self.page,text='密码:').grid(row=2,column=1,pady=10) Entry(self.page,textvariable=self.password).grid(row=2,column=2) def login(): name = self.username.get() code = self.password.get() js=json.dumps( { 'type':"login", 'msg1':name, 'msg2':code } ) from passinfromation import pass_main jk=pass_main(js) jd=json.loads(jk) if jd['msg1']=="True": messagebox.showwarning(title='提示', message=jd['msg2']) self.page.destroy() else : messagebox.showwarning(title='提示', message=jd['msg2']) def sign(): self.page.destroy() SignPage(self.root) def delete(): self.page.destroy() DeletePage(self.root) Button(self.page, text='登录', command=login).grid(row=3, column=1, ) Button(self.page, text='注销', command=delete).grid(row=3, column=2, ) Button(self.page, text='注册', command=sign).grid(row=3, column=3, ) if __name__ == '__main__': root = Tk() LoginPage(master=root) root.mainloop()
(main.py)
import socket import json def pass_main(js): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(('192.168.0.102', 8888)) s.send(js.encode()) while (True): data = s.recv(2014).decode() if data: break return data
(passinfromation.py)
from tkinter import * from tkinter import messagebox import json class SignPage: def __init__(self,master:Tk): self.root=master self.root.geometry('300x180') self.root.title("注册页") self.page=Frame(self.root) self.page.pack() self.username=StringVar() self.password=StringVar() self.repassword=StringVar() Label(self.page).grid(row=0,column=0) Label(self.page,text='账户:').grid(row=1,column=1) Entry(self.page,textvariable=self.username).grid(row=1,column=2) Label(self.page,text='密码:').grid(row=2,column=1,pady=10) Entry(self.page,textvariable=self.password).grid(row=2,column=2) Label(self.page, text='请重新输入密码:').grid(row=3, column=1, pady=10) Entry(self.page, textvariable=self.repassword).grid(row=3, column=2) def rePage(): from main import LoginPage self.page.destroy() LoginPage(self.root) def sign(): name = self.username.get() code = self.password.get() recode = self.repassword.get() js = json.dumps( { 'type': "sign", 'msg1': name, 'msg2': code, 'msg3':recode } ) from passinfromation import pass_main jk = pass_main(js) jd = json.loads(jk) if jd['msg1']=="True": messagebox.showwarning(title='提示', message=jd['msg2']) print("wawawawa") rePage() else: messagebox.showwarning(title='提示', message=jd['msg2']) Button(self.page, text='注册', command=sign).grid(row=4, column=1) Button(self.page, text='取消', command=rePage).grid(row=4, column=3)
(sign.py)
from tkinter import * from tkinter import messagebox import json class DeletePage: def __init__(self,master:Tk): self.root=master self.root.geometry('300x180') self.root.title("注销页") self.page=Frame(self.root) self.page.pack() self.username=StringVar() self.password=StringVar() self.repassword=StringVar() Label(self.page).grid(row=0,column=0) Label(self.page,text='注销账户:').grid(row=1,column=1) Entry(self.page,textvariable=self.username).grid(row=1,column=2) Label(self.page,text='密码:').grid(row=2,column=1,pady=10) Entry(self.page,textvariable=self.password).grid(row=2,column=2) def rePage(): from main import LoginPage self.page.destroy() LoginPage(self.root) def delete(): name = self.username.get() code = self.password.get() js = json.dumps( { 'type': "delete", 'msg1': name, 'msg2': code } ) from passinfromation import pass_main jk = pass_main(js) jd = json.loads(jk) if jd['msg1'] == "True": messagebox.showwarning(title='提示', message=jd['msg2']) rePage() else: messagebox.showwarning(title='提示', message=jd['msg2']) Button(self.page, text='注销', command=delete).grid(row=4, column=1) Button(self.page, text='取消', command=rePage).grid(row=4, column=3)
(delete.py)