You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
2.1 KiB
59 lines
2.1 KiB
import tkinter as tk
|
|
from tkinter import messagebox
|
|
from db import db
|
|
from Mainpage import Mainage
|
|
|
|
class RegisterPage:
|
|
def __init__(self, master):
|
|
self.root = master
|
|
self.root.title("注册账户")
|
|
self.root.geometry("300x200")
|
|
self.page = tk.Frame(self.root)
|
|
self.page.pack()
|
|
|
|
self.username = tk.StringVar()
|
|
self.password = tk.StringVar()
|
|
self.confirm_password = tk.StringVar()
|
|
|
|
self.create_widgets() # 调用创建控件的方法
|
|
|
|
def create_widgets(self):
|
|
tk.Label(self.page, text="用户名:").grid(row=0, column=0, padx=10, pady=10)
|
|
tk.Entry(self.page, textvariable=self.username).grid(row=0, column=1, padx=10, pady=10)
|
|
|
|
tk.Label(self.page, text="密码:").grid(row=1, column=0, padx=10, pady=10)
|
|
tk.Entry(self.page, textvariable=self.password, show="*").grid(row=1, column=1, padx=10, pady=10)
|
|
|
|
tk.Label(self.page, text="确认密码:").grid(row=2, column=0, padx=10, pady=10)
|
|
tk.Entry(self.page, textvariable=self.confirm_password, show="*").grid(row=2, column=1, padx=10, pady=10)
|
|
|
|
tk.Button(self.page, text="注册", command=self.register).grid(row=3, column=1, padx=10, pady=10)
|
|
|
|
def register(self):
|
|
username = self.username.get()
|
|
password = self.password.get()
|
|
confirm_password = self.confirm_password.get()
|
|
|
|
if password != confirm_password:
|
|
messagebox.showerror("错误", "密码和确认密码不一致!")
|
|
return
|
|
|
|
else:
|
|
# 利用db将用户名与密码输入到users.json中
|
|
us = {"name": self.username.get(), "money": self.password.get()}
|
|
# 清空输入框
|
|
self.username.set('')
|
|
self.password.set('')
|
|
self.confirm_password.set('')
|
|
print(us)
|
|
db.insert(us)
|
|
messagebox.showinfo("成功", "账户注册成功!")
|
|
self.page.destroy()
|
|
Mainage(self.root)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
root = tk.Tk()
|
|
app = RegisterPage(root)
|
|
root.mainloop()
|