Jun-15-2018, 08:18 AM
I am creating a python tkinter gui application.When i run my code the gui works fine but the buttons are not working properly.Please see the code below:
from tkinter import * class App: def __init__(self,master): #Variables account_number = IntVar().set("") pin_number = StringVar() #Frames Main = Frame(master) Main.pack() Top = Frame(root, bd=2, relief=RIDGE,borderwidth=0,highlightthickness=0) Top.pack(side=TOP, fill=X,pady=36) Form = Frame(root,height=200) Form.pack(side=TOP) #Labels self.lbl_title = Label(Top,text = "FedUni Banking",font=("Arial",32)) self.lbl_title.pack() self.lbl_account = Label(Form,text = "Account Number / PIN",font=("Arial",11)) self.lbl_account.grid(row=0,sticky=E) #Textboxes self.tb_account = Entry(Form,width=13,textvariable=account_number,font=("Arial",15)) self.tb_account.grid(row=0,column=1,ipady=18) self.tb_pin = Entry(Form,width=13,show="*",textvariable=pin_number,font=("Arial",15)) self.tb_pin.grid(row = 0,column = 2,ipady=18) #Buttons self.btn_1 = Button(Form,text="1",width=20,height=7,command = lambda:self.set_text("1")) self.btn_1.grid(row=1,column=0) self.btn_2 = Button(Form,text="2",width=20,height=7,command = lambda:self.set_text("2")) self.btn_2.grid(row=1,column=1) self.btn_3 = Button(Form,text="3",width=20,height=7,command = lambda:self.set_text("3")) self.btn_3.grid(row=1,column=2) self.btn_4 = Button(Form,text="4",width=20,height=7,command = lambda:self.set_text("4")) self.btn_4.grid(row=2,column=0) self.btn_5 = Button(Form,text="5",width=20,height=7,command = lambda:self.set_text("5")) self.btn_5.grid(row=2,column=1) self.btn_6 = Button(Form,text="6",width=20,height=7,command = lambda:self.set_text("6")) self.btn_6.grid(row=2,column=2) self.btn_7 = Button(Form,text="7",width=20,height=7,command = lambda:self.set_text("7")) self.btn_7.grid(row=3,column=0) self.btn_8 = Button(Form,text="8",width=20,height=7,command = lambda:self.set_text("8")) self.btn_8.grid(row=3,column=1) self.btn_9 = Button(Form,text="9",width=20,height=7,command = lambda:self.set_text("9")) self.btn_9.grid(row=3,column=2) self.btn_cancel = Button(Form,text="Cancel/Clear",bg="red",width=20,height=7,command = lambda:clear()) self.btn_cancel.grid(row=4,column=0) self.btn_0 = Button(Form,text="0",width=20,height=7,command = lambda:self.set_text("0")) self.btn_0.grid(row=4,column=1) self.btn_login = Button(Form,text="Login",bg="green",width=20,height=7,command = lambda:login()) self.btn_login.grid(row=4,column=2) #Functions def set_text(e,text): widget = e.focus_get() if widget in e.entries: widget.insert(0, text) def clear(): self.tb_pin.delete(0,END) root = Tk() root.title("FedUni Banking") root.geometry("440x640") app = App(root) root.mainloop()