[Tutor] login window using Tk
alan.gauld at btinternet.com
Wed Nov 2 01:50:20 CET 2011
On 01/11/11 21:28, Chris Hare wrote:
> Good feedback Alan, thanks.
> I wasn't using the root window to hold the login form, although I
> suppose I could. I guess where I am stuck is the login to control
> displaying the login window, and hiding it to display the actual
> application window once the user has authenticated.
Thats what your command function does. So when the button is pressed
your event handler authenticates the user details, if valid it closes
the Login and shows the main window(which could be root...)
userid = idField.get()
passwd = pwField.get()
self.beep() # or whatever warning message you want
self.logError("User authentication failed for " + userid)
Then in creating the button you pass that as the command handler:
btnLogin = Button(self.window, text="Login", command=doLogin)
Now, when the user hits the button the doLogin function will be called.
If the login is ok we show the main window and hide the login dialog.
If the entry is invalid we beep, clear the fields for a retry and log an
error. We could also add a count so after, say, three attempts we close
Author of the Learn to Program web site
More information about the Tutor