Python Forum
[Tkinter] Tkinter button help and general commands
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Tkinter] Tkinter button help and general commands
#1
Hey guys, sorry this is gonna be a long thread and I'm very basic at python and tkinter, so just stay with me Big Grin .

So im trying to make a login window, and i have coded this, which makes the window but the button doesn't work and i don't really understand .self command:

import tkinter
window = tkinter.Tk()
window.geometry('250x190')
window.title("Encrypter")

U = tkinter.Label(window, text = "Username", height = 4)
U.grid(row = 1, column = 0, padx =1, pady = 1)
UE = tkinter.Entry(window, width = 20)
UE.grid(row = 1, column = 1, padx = 1, pady = 1)

P = tkinter.Label(window, text = "Password")
P.grid(row = 2, column = 0, padx = 1, pady = 1)
PE = tkinter.Entry(window)
PE.grid(row = 2, column = 1 , padx = 1, pady = 1)

EB = tkinter.Button(window, text = "Validate ID", fg = "white", bg = "red")
EB.grid(row = 3, column = 1 , padx = 1, pady = 1)

CB = tkinter.Checkbutton(window, text = "keep logged in")
CB.grid(columnspan = 2)


def tkinter_button_clicked(self):
        # print("Clicked")
        username = UE.get()
        password = PE.get()

        # print(username, password)

        if username == "iceman" and password == "Password":
            tm.showinfo("Login info", "Welcome Iceman")
        else:
            tm.showerror("Login error", "Incorrect username")

window.mainloop()
I've looked at another person's example and it works but im trying to learn myself, but here's theirs:

from tkinter import *
import tkinter.messagebox as tm


class 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 == "Iceman" and password == "Password":
            tm.showinfo("Login info", "Welcome Iceman")
        else:
            tm.showerror("Login error", "Incorrect username")


root = Tk()
lf = LoginFrame(root)
root.mainloop()
If you made it this far welldone and thanks for any help.
Reply
#2
The button has not had an event bound to it by setting the callback function on the command parameter.
self is not required when using the function outside of a class as its no longer a method.
The called function will need to be moved so it is defined before trying to add it to the command parameter.
tkinter.messagebox will need importing before you can use it.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  [Tkinter] TKinter Remove Button Frame Nu2Python 8 818 Jan-16-2024, 06:44 PM
Last Post: rob101
  tkinter - touchscreen, push the button like click the mouse John64 5 746 Jan-06-2024, 03:45 PM
Last Post: deanhystad
  Centering and adding a push button to a grid window, TKinter Edward_ 15 4,380 May-25-2023, 07:37 PM
Last Post: deanhystad
  Can't get tkinter button to change color based on changes in data dford 4 3,363 Feb-13-2022, 01:57 PM
Last Post: dford
  Creating a function interrupt button tkinter AnotherSam 2 5,418 Oct-07-2021, 02:56 PM
Last Post: AnotherSam
  [Tkinter] Have tkinter button toggle on and off a continuously running function AnotherSam 5 4,920 Oct-01-2021, 05:00 PM
Last Post: Yoriz
  tkinter showing image in button rwahdan 3 5,521 Jun-16-2021, 06:08 AM
Last Post: Yoriz
  tkinter button image Nick_tkinter 4 3,962 Mar-04-2021, 11:33 PM
Last Post: deanhystad
  tkinter python button position problem Nick_tkinter 3 3,486 Jan-31-2021, 05:15 AM
Last Post: deanhystad
  TKinter restarting the mainloop when button pressed zazas321 7 16,092 Jan-26-2021, 06:38 AM
Last Post: zazas321

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020