from tkinter import * # Trial 1 - Basic OptionMenu dropdown # Purpose: Learn how to create a simple dropdown and read the selected value class DropdownTrial: def __init__(self): self.frame = Frame(padx=10, pady=10) self.frame.grid() self.heading = Label(self.frame, text="Dropdown Trial - v1", font=("Arial", "16", "bold")) self.heading.grid(row=0) # StringVar holds the currently selected value self.unit_var = StringVar() # Set a default value self.unit_var.set("km") # OptionMenu takes: parent, StringVar, *options self.unit_menu = OptionMenu(self.frame, self.unit_var, "km", "m", "cm", "mm") self.unit_menu.config(font=("Arial", "12"), width=8) self.unit_menu.grid(row=1, pady=10) self.check_button = Button(self.frame, text="Show Selected", font=("Arial", "12", "bold"), bg="#009900", fg="#FFFFFF", width=14, command=self.show_selected) self.check_button.grid(row=2, pady=5) self.result_label = Label(self.frame, text="No unit selected yet", font=("Arial", "12")) self.result_label.grid(row=3, pady=10) def show_selected(self): # .get() reads the current value from the StringVar selected = self.unit_var.get() self.result_label.config(text=f"You selected: {selected}") # main routine if __name__ == "__main__": root = Tk() root.title("Dropdown Trial v1") DropdownTrial() root.mainloop()