我扩展了您的示例。我制作了一个包含您的登录窗口的类。
from tkinter import *import tkinter.messagebox as tmclass Loginframe(frame): def __init__(self, master): super().__init__(master) self.label_username = Label(self, text="Username") self.label_password = Label(self, text="Password") self.entry_username = Entry(self) self.entry_password = Entry(self, show="*") self.label_username.grid(row=0, sticky=E) self.label_password.grid(row=1, sticky=E) self.entry_username.grid(row=0, column=1) self.entry_password.grid(row=1, column=1) self.checkbox = Checkbutton(self, text="Keep me logged in") self.checkbox.grid(columnspan=2) self.logbtn = Button(self, text="Login", command=self._login_btn_clicked) self.logbtn.grid(columnspan=2) self.pack() def _login_btn_clicked(self): # print("Clicked") username = self.entry_username.get() password = self.entry_password.get() # print(username, password) if username == "john" and password == "password": tm.showinfo("Login info", "Welcome John") else: tm.showerror("Login error", "Incorrect username")root = Tk()lf = Loginframe(root)root.mainloop()很抱歉,没有仔细检查每一行的内容。我留给你弄清楚。它很好的锻炼。但是我会说最重要的是
command =self._login_btn_clicked。当您单击登录按钮时,将执行此功能。在此功能中,您将获取用户名和密码的值,并检查它们是否正确。另外,我没有将任何回调附加到复选框。但这将类似于已经完成的工作。
编辑:根据注释中的要求进行编辑。



