def usr_sign_in(): def sign(): # get data np = new_pwd.get() npf = new_pwd_confirm.get() nn = new_name.get() # judge if data has already been registered; with open('usrs_info.pickle', 'rb') as usr_file: exist_usr_info = pickle.load(usr_file) if np != npf: tk.messagebox.showerror('Error', '密码错误请确认密码') elif nn in exist_usr_info: tk.messagebox.showerror('Error', '请设置账号') else: exist_usr_info[nn] = np with open('usrs_info.pickle', 'wb') as usr_file: # write username and password in user_info_pickle file in the format of dict pickle.dump(exist_usr_info, usr_file) tk.messagebox.showinfo('Welcome', "注册成功到 '%s', '%s' ." % (nn, np)) # destory top level window window_sign_up.destroy()
时间: 2024-02-10 09:33:52 浏览: 78
mysql.so.rar_mysql.so_php msql.so_php mysql.so
5星 · 资源好评率100%
这段代码是一个函数,名为 `usr_sign_in`。在函数中,首先定义了一个名为 `sign` 的函数,用于处理注册逻辑。然后创建了一个名为 `window_sign_up` 的顶层窗口,用于用户进行注册操作。
`sign` 函数中,首先通过 `get()` 方法获取了三个输入框中的数据,分别是 `new_pwd`、`new_pwd_confirm` 和 `new_name`。然后通过 `open()` 和 `pickle.load()` 方法,读取了保存用户信息的文件 `usrs_info.pickle` 中的数据,并将其存储在 `exist_usr_info` 变量中。
接下来,通过条件判断语句,判断用户输入的密码是否一致以及用户名是否已经被注册。如果密码不一致或用户名已经被注册,会弹出一个错误提示框。否则,会将新的用户名和密码添加到 `exist_usr_info` 字典中,并将其写入到 `usrs_info.pickle` 文件中。最后,弹出一个提示框,告诉用户注册成功,并销毁注册窗口 `window_sign_up`。
`usr_sign_in` 函数中,首先创建了一个名为 `window` 的顶层窗口,用于用户进行登录操作。然后创建了四个标签和两个输入框,分别是用户名标签 `label_usr_name`、密码标签 `label_usr_pwd`、用户名输入框 `entry_usr_name`、密码输入框 `entry_usr_pwd`、登录按钮 `btn_login` 和注册按钮 `btn_sign_up`。最后,将这些控件添加到窗口中,并运行窗口。
如果用户点击了注册按钮 `btn_sign_up`,则会调用 `sign` 函数,弹出一个名为 `window_sign_up` 的顶层窗口,用于用户进行注册操作。
阅读全文