class ExcelApp: def init(self, master): # 创建登录窗口 login_window = tk.Toplevel(master) login_window.title("登录") login_window.geometry("300x150") login_window.resizable(0, 0) # 创建用户名和密码的 Label 和 Entry tk.Label(login_window, text="用户名:").place(x=50, y=30) username_entry = tk.Entry(login_window) username_entry.place(x=110, y=30) tk.Label(login_window, text="密码:").place(x=50, y=70) password_entry = tk.Entry(login_window, show="*") password_entry.place(x=110, y=70) # 创建登录按钮 def login(): username = username_entry.get() password = password_entry.get() if username == "Q21000002" and password == "Q21000002": login_window.destroy() else: tk.messagebox.showwarning(title="登录失败", message="用户名或密码错误!") tk.Button(login_window, text="登录", command=login).place(x=130, y=110) # 创建 Excel App 窗口 if login_window.wait_window() == 0: master.destroy() else: self.master = master master.title("Excel App") # 获取屏幕的宽度和高度 screen_width = master.winfo_screenwidth() screen_height = master.winfo_screenheight() # 将窗口的大小设置为屏幕的大小 master.geometry("%dx%d" % (screen_width, screen_height))修改這個代碼儅運行時不要跳出兩個窗口,沒輸入賬號密碼前只保留一個窗口,儅賬號密碼正確輸入后再將窗口跳出來
时间: 2024-02-06 21:11:22 浏览: 76
您可以尝试将创建 ExcelApp 窗口的代码移动到登录按钮的函数中,并在登录成功后再创建窗口。同时,将登录窗口的销毁放在登录成功的条件语句中,以确保登录窗口仅在登录成功后关闭。
可以参考下面的代码:
```
class ExcelApp:
def __init__(self, master):
self.master = master
self.create_login_window()
def create_login_window(self):
# 创建登录窗口
self.login_window = tk.Toplevel(self.master)
self.login_window.title("登录")
self.login_window.geometry("300x150")
self.login_window.resizable(0, 0)
# 创建用户名和密码的 Label 和 Entry
tk.Label(self.login_window, text="用户名:").place(x=50, y=30)
self.username_entry = tk.Entry(self.login_window)
self.username_entry.place(x=110, y=30)
tk.Label(self.login_window, text="密码:").place(x=50, y=70)
self.password_entry = tk.Entry(self.login_window, show="*")
self.password_entry.place(x=110, y=70)
# 创建登录按钮
tk.Button(self.login_window, text="登录", command=self.login).place(x=130, y=110)
def login(self):
username = self.username_entry.get()
password = self.password_entry.get()
if username == "Q21000002" and password == "Q21000002":
self.login_window.destroy()
self.create_excel_app_window()
else:
tk.messagebox.showwarning(title="登录失败", message="用户名或密码错误!")
def create_excel_app_window(self):
# 创建 Excel App 窗口
self.master.title("Excel App")
# 获取屏幕的宽度和高度
screen_width = self.master.winfo_screenwidth()
screen_height = self.master.winfo_screenheight()
# 将窗口的大小设置为屏幕的大小
self.master.geometry("%dx%d" % (screen_width, screen_height))
```
这样,登录窗口和 Excel App 窗口就可以在同一个窗口中切换了,且只有在登录成功后才会创建 Excel App 窗口。
阅读全文