import tkinter as tk # Create a new window with the title "Address Entry Form" window = tk.Tk() window.title("Address Entry Form") # Create a new frame `frm_form` to contain the Label # and Entry widgets for entering address information frm_form = tk.Frame(relief=tk.SUNKEN, borderwidth=3) # Pack the frame into the window frm_form.pack() # List of field labels labels = [ "First Name:", "Last Name:", "Address Line 1:", "Address Line 2:", "City:", "State/Province:", "Postal Code:", "Country:", ] # Loop over the list of field labels for idx, text in enumerate(labels): # Create a Label widget with the text from the labels list label = tk.Label(master=frm_form, text=text) # Create an Entry widget entry = tk.Entry(master=frm_form, width=50) # Use the grid geometry manager to place the Label and # Entry widgets in the row whose index is idx label.grid(row=idx, column=0, sticky="e") entry.grid(row=idx, column=1) # Create a new frame `frm_buttons` to contain the # Submit and Clear buttons. This frame fills the # whole window in the horizontal direction and has # 5 pixels of horizontal and vertical padding. frm_buttons = tk.Frame() frm_buttons.pack(fill=tk.X, ipadx=5, ipady=5) # Create an event handler def handle_keypress(event): """Print the character associated to the key pressed""" print(event.char) # Bind keypress event to handle_keypress() window.bind("", handle_keypress) def handle_click(event): print("Adress was submitted") # Create the "Submit" button and pack it to the # right side of `frm_buttons` btn_submit = tk.Button(master=frm_buttons, text="Submit") btn_submit.pack(side=tk.RIGHT, padx=10, ipadx=10) btn_submit.bind("", handle_click) # Create the "Clear" button and pack it to the # right side of `frm_buttons` btn_clear = tk.Button(master=frm_buttons, text="Clear") btn_clear.pack(side=tk.RIGHT, ipadx=10) # Start the application window.mainloop()