Hey guys, sorry this is gonna be a long thread and I'm very basic at python and tkinter, so just stay with me
.
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:

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.