from tkinter import * from tkinter import ttk root = Tk() root.title("thing") mainframe = ttk.Frame(root, padding=(3, 3, 3, 3)) mainframe.grid(column=0, row=0, sticky=(N, W, E, S)) click_hold = StringVar() click = ttk.Radiobutton(mainframe, text='Click', variable=click_hold, value='click') hold = ttk.Radiobutton(mainframe, text='Hold', variable=click_hold, value='hold') click.grid(column=1, row=2, sticky=(W, E)) hold.grid(column=2, row=2, sticky=(W, E)) click_hold.set('click') left_right = StringVar() left = ttk.Radiobutton(mainframe, text='Left', variable=left_right, value='left') right = ttk.Radiobutton(mainframe, text='Right', variable=left_right, value='right') left.grid(column=1, row=4, sticky=(W, E)) right.grid(column=2, row=4, sticky=(W, E)) left_right.set('left') click_delay_s = IntVar() delay_s = ttk.Entry(mainframe, textvariable=click_delay_s, width=3) click_delay_ms = IntVar() delay_ms = ttk.Entry(mainframe, textvariable=click_delay_ms, width=3) delay_s.grid(column=2, row=6, sticky=(W, E)) delay_ms.grid(column=2, row=7, sticky=(W, E)) start_button = ttk.Button(mainframe, text='Start (F6)') root.columnconfigure(0, weight=1) root.rowconfigure(0, weight=1) mainframe.columnconfigure(2, weight=1) for child in mainframe.winfo_children(): child.grid_configure(padx=5, pady=5) root.mainloop()