Python登录注册功能
# -*- coding: utf-8 -*-
"""
Created on Thu Jul 25 13:43:28 2024
"""
from tkinter import *
from tkinter import messagebox
from main import * # 导入“功能导航”(main.py)
import csv # 导入CSV文件操作库
# 全局变量
usr = ''
pwd = ''
exist = False # 修正为正确的布尔值表示
def form_logreg():
def check(): # 验证用户功能
global usr, pwd, exist
with open(r'data/user.csv', 'r') as fu:
reader = csv.reader(fu)
for row in reader:
usr, pwd = row
if usr == entry_usr.get():
exist = True
break
# 修正:关闭文件
fu.close()
def login(): # 登录功能
check()
if exist == False: # 修正为正确的布尔值比较
messagebox.showwarning('用户不存在')
else:
if pwd != entry_pwd.get():
messagebox.showwarning('密码错误')
else:
master.destroy() # 修正:关闭窗体
appvar.setID(usr) # 保存当前登录用户的账号
form_main() # 进入商品功能导航的窗体
def register(): # 注册功能
check()
if exist == True: # 修正为正确的布尔值比较
messagebox.showwarning('账号已经注册')
else:
tup_user = (entry_usr.get(), entry_pwd.get())
with open(r'data/user.csv', 'a') as fu: # 追加到文件尾部
writer = csv.writer(fu)
writer.writerow(tup_user)
# 修正:关闭文件
fu.close()
messagebox.showinfo('注册成功!')
# 创建主窗体
master = Tk()
master.geometry('320x250') # 修正:几何参数格式
master.title('用户登录')
# 创建用户名输入框
Label(master, text='用户名:').pack()
entry_usr = Entry(master)
entry_usr.pack()
# 创建密码输入框
Label(master, text='密码:').pack()
entry_pwd = Entry(master, show='*')
entry_pwd.pack()
# 创建登录按钮
Button(master, text='登录', command=login).pack()
# 创建注册按钮
Button(master, text='注册', command=register).pack()
# 运行主事件循环
master.mainloop()
# 假设 form_main 是你之前定义的函数,这里调用它来模拟进入主窗体
def form_main():
print("进入主窗体")
# 假设 appvar 是你之前定义的全局变量或类,这里调用它来模拟设置用户ID
class appvar:
@staticmethod
def setID(id):
print(f"用户ID设置为:{id}")
# 运行登录注册窗体
form_logreg()
#python#Python 文章被收录于专栏
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发

