完整修改代碼
时间: 2023-08-07 22:14:59 浏览: 40
好的,以下是完整修改过的代码,已经修复了缺少参数的问题:
```python
import tkinter as tk
from tkinter import messagebox
class LoginWindow:
def __init__(self, master):
self.master = master
self.master.title("Login Window")
self.master.geometry("300x200")
self.master.resizable(0, 0)
self.username = tk.StringVar()
self.password = tk.StringVar()
tk.Label(self.master, text="Username").grid(row=0, column=0, padx=5, pady=5)
tk.Entry(self.master, textvariable=self.username).grid(row=0, column=1, padx=5, pady=5)
tk.Label(self.master, text="Password").grid(row=1, column=0, padx=5, pady=5)
tk.Entry(self.master, textvariable=self.password, show="*").grid(row=1, column=1, padx=5, pady=5)
tk.Button(self.master, text="Login", command=self.login).grid(row=2, column=0, columnspan=2, padx=5, pady=5)
def login(self):
if self.username.get() == "1" and self.password.get() == "1":
self.master.destroy()
root = tk.Tk()
app = ExcelApp(root)
root.mainloop()
else:
messagebox.showwarning("Invalid Credentials", "Username or password is incorrect.")
class ExcelApp:
def __init__(self, master):
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))
master.state('zoomed') # 窗口最大化
# 创建菜单栏
menubar = tk.Menu(master)
master.config(menu=menubar)
root = tk.Tk()
app = LoginWindow(root)
root.mainloop()
```
这个程序包含两个类:LoginWindow 和 ExcelApp。当用户输入“1”作为用户名和密码时,LoginWindow 类将被销毁,ExcelApp 类将被实例化并显示一个具有最大化窗口的 Excel 应用程序。程序使用 tkinter 模块来创建 GUI 界面,并使用 messagebox 模块来显示警告消息框。