將標簽和文本框放到窗口中間擺放
时间: 2023-07-19 20:21:12 浏览: 148
将元素显示到屏幕正中间
可以使用 `place` 函数来将标签和文本框放到窗口中间,具体代码如下:
```
class LoginWindow:
def __init__(self, master):
self.master = master
self.master.title("BL 製造表單點檢系統")
self.master.geometry("300x250+400+250")
self.master.resizable(0, 0)
self.username = tk.StringVar()
self.password = tk.StringVar()
# 賬號标签和输入框
username_label = tk.Label(self.master, text="賬號")
username_label.place(relx=0.5, rely=0.4, anchor="center")
username_entry = tk.Entry(self.master, textvariable=self.username, width=20)
username_entry.place(relx=0.5, rely=0.45, anchor="center")
# 密码标签和输入框
password_label = tk.Label(self.master, text="密碼")
password_label.place(relx=0.5, rely=0.55, anchor="center")
password_entry = tk.Entry(self.master, textvariable=self.password, show="*", width=20)
password_entry.place(relx=0.5, rely=0.6, anchor="center")
# 确认按钮
tk.Button(self.master, text="確認", command=self.login, width=20, bg="#4CAF50", fg="white").place(relx=0.5, rely=0.75, anchor="center")
def login(self):
# 如果输入的用户名和密码均正确,则销毁当前窗口并打开 ExcelApp 界面
if self.username.get() == "smt" and self.password.get() == "bl":
self.master.destroy()
root = tk.Tk()
app = ExcelApp(root)
root.mainloop()
else:
# 如果输入的用户名或密码错误,则弹出警告对话框
messagebox.showwarning("Invalid Credentials", "密碼或賬號錯誤.")
```
在这里,我们使用了 `relx` 和 `rely` 参数来设置控件的相对位置,`anchor` 参数指定了控件的对齐方式,这里使用了 `center`。
阅读全文