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 929 Jan-16-2024, 06:44 PM
Last Post: rob101
  tkinter - touchscreen, push the button like click the mouse John64 5 813 Jan-06-2024, 03:45 PM
Last Post: deanhystad
  Centering and adding a push button to a grid window, TKinter Edward_ 15 4,666 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,410 Feb-13-2022, 01:57 PM
Last Post: dford
  Creating a function interrupt button tkinter AnotherSam 2 5,503 Oct-07-2021, 02:56 PM
Last Post: AnotherSam
  [Tkinter] Have tkinter button toggle on and off a continuously running function AnotherSam 5 4,992 Oct-01-2021, 05:00 PM
Last Post: Yoriz
  tkinter showing image in button rwahdan 3 5,596 Jun-16-2021, 06:08 AM
Last Post: Yoriz
  tkinter button image Nick_tkinter 4 4,020 Mar-04-2021, 11:33 PM
Last Post: deanhystad
  tkinter python button position problem Nick_tkinter 3 3,554 Jan-31-2021, 05:15 AM
Last Post: deanhystad
  TKinter restarting the mainloop when button pressed zazas321 7 16,287 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