def newwind1(self): user = Toplevel(self.root) user.geometry('500x300') user.title('用户登录界面') lab1 = Label(user, text="用户名:") lab2 = Label(user, text="密码:") # 标签 global text1 text1 = Entry(user, font=(14)) # 明文 global text2 text2 = Entry(user, font=(14), show='*') # 密文 lab1.place(x=100, y=100) lab2.place(x=125, y=150) text1.place(x=175, y=100) text2.place(x=175, y=150) name = text1.get() woss = text2.get() btn03 = Button(user, text='登录', command=lambda: self.check1()) btn03.place(x=125, y=200, width=100, height=25) btn04 = Button(user, text='注册', command=lambda: self.user2()) btn04.place(x=300, y=200, width=100, height=25) def check1(self): name0=text1.get() woss0=text2.get() if name0=='Tom' and woss0=='040828': tk.messagebox.showinfo(title='欢迎!',message='登陆成功!') self.newwind3() elif name0=='沈' and woss0=='0205': tk.messagebox.showinfo(title='欢迎!',message='登陆成功!') self.newwind3() else: tk.messagebox.showinfo(title='错误!',message='账号或密码输入错误!') def newwind3(self): self.winNew = Toplevel(self.root) self.winNew.geometry('600x400') self.winNew.title('图书管理系统') self.btn_delrow = Button(self.winNew, text='还书', command=lambda: self.delrow()) self.btn_delrow.place(x=50, y=230, width=125, height=25) btn3 = Button(self.winNew, text='查询自己借阅情况', command=lambda: self.find()) btn3.place(x=50, y=75, width=125, height=25) self.btn4 = Button(self.winNew, text='借书', command=lambda: self.create4()) self.btn4.place(x=50, y=125, width=125, height=25)
时间: 2024-04-02 07:33:00 浏览: 144
这段代码定义了三个函数,分别是newwind1、check1和newwind3。newwind1函数用于创建用户登录界面,其中包括了用户名和密码的输入框和登录、注册两个按钮。check1函数用于检查用户输入的用户名和密码是否正确,如果正确则弹出登录成功的提示框,并调用newwind3函数创建图书管理系统界面。如果输入错误,则弹出错误提示框。newwind3函数用于创建图书管理系统界面,其中包括了查询自己借阅情况、借书和还书三个按钮。点击借书按钮会调用create4函数。点击还书按钮会调用delrow函数。
相关问题
class main: def __init__(self): self.addnew = None self.frame_lkp = None self.winNew = None self.root = Tk() self.root.title('图书管理系统') self.root.geometry('500x300+100+200') btn1 = Button(self.root, text='用户登录', command=lambda: self.newwind1()) btn2 = Button(self.root, text='管理员登陆', command=lambda: self.signin()) btn1.place(x=150, y=100, width=225, height=75) btn2.place(x=150, y=175, width=225, height=75) self.root.mainloop() def newwind1(self): user = Toplevel(self.root) user.geometry('500x300') user.title('用户登录界面') lab1 = Label(user, text="用户名:") lab2 = Label(user, text="密码:") # 标签 global text1 text1 = Entry(user, font=(14)) # 明文 global text2 text2 = Entry(user, font=(14), show='*') # 密文 lab1.place(x=100, y=100) lab2.place(x=125, y=150) text1.place(x=175, y=100) text2.place(x=175, y=150) name = text1.get() woss = text2.get() btn03 = Button(user, text='登录', command=lambda: self.check1()) btn03.place(x=125, y=200, width=100, height=25) btn04 = Button(user, text='注册', command=lambda: self.user2()) btn04.place(x=300, y=200, width=100, height=25) def check1(self): name0 = text1.get() woss0 = text2.get() if name0 == 'Tom' and woss0 == '040828': tk.messagebox.showinfo(title='欢迎!', message='登陆成功!') self.newwind3() elif name0 == '沈' and woss0 == '0205': tk.messagebox.showinfo(title='欢迎!', message='登陆成功!') self.newwind3() else: tk.messagebox.showinfo(title='错误!', message='账号或密码输入错误!')
这段代码是一个图书管理系统的登录界面,其中包括了用户登录和管理员登录两个选项,点击对应的按钮会弹出一个新的窗口。用户登录界面包含了用户名和密码的输入框以及登录和注册按钮。当用户输入正确的账号和密码点击登录按钮后,会跳转到另一个界面。当用户输入错误的账号或密码时,会弹出一个错误提示框。管理员登录的逻辑还没有被实现。
在 with open('anjian.py', 'r', encoding='utf-8') as f: code = compile(f.read(), 'anjian.py', 'exec') exec(code)情况下 使用def newwind变压器(): # 设置主界面的容器大小和位置 winNew = Toplevel(root) winNew.title('房间') winNew.geometry("600x400+500+200") with open('XIANLU.py', 'r', encoding='utf-8') as f: code = compile(f.read(), 'XIANLU.py', 'exec') exec(code)出现File "anjian.py", line 16, in newwind变压器 winNew = Toplevel(root) ^^^^ NameError: name 'root' is not defined 进程已结束,退出代码0
这个错误的原因是在函数 `newwind变压器` 中,变量 `root` 没有被定义。你需要在函数中定义 `root` 变量,或者将 `root` 作为参数传递给函数。例如:
```python
def newwind变压器(root):
# 设置主界面的容器大小和位置
winNew = Toplevel(root)
winNew.title('房间')
winNew.geometry("600x400+500+200")
with open('XIANLU.py', 'r', encoding='utf-8') as f:
code = compile(f.read(), 'XIANLU.py', 'exec')
exec(code)
# 在适当的位置调用 newwind变压器,并将 root 作为参数传递
newwind变压器(root)
```
阅读全文