CTkOptionMenu
Example Code
Without variable:
def optionmenu_callback(choice):
    print("optionmenu dropdown clicked:", choice)
optionmenu = customtkinter.CTkOptionMenu(app, values=["option 1", "option 2"],
                                         command=optionmenu_callback)
optionmenu.set("option 2")
With variable:
def optionmenu_callback(choice):
    print("optionmenu dropdown clicked:", choice)
optionmenu_var = customtkinter.StringVar(value="option 2")
optionmenu = customtkinter.CTkOptionMenu(app,values=["option 1", "option 2"],
                                         command=optionmenu_callback,
                                         variable=optionmenu_var)
Arguments
| argument | value | 
|---|---|
| master | root, frame, top-level | 
| width | box width in px | 
| height | box height in px | 
| corner_radius | corner radius in px | 
| fg_color | foreground (inside) color, tuple: (light_color, dark_color) or single color | 
| button_color | right button color, tuple: (light_color, dark_color) or single color | 
| button_hover_color | hover color, tuple: (light_color, dark_color) or single color | 
| dropdown_fg_color | dropdown fg color, tuple: (light_color, dark_color) or single color | 
| dropdown_hover_color | dropdown button hover color, tuple: (light_color, dark_color) or single color | 
| dropdown_text_color | dropdown text color, tuple: (light_color, dark_color) or single color | 
| text_color | text color, tuple: (light_color, dark_color) or single color | 
| text_color_disabled | text color when disabled, tuple: (light_color, dark_color) or single color | 
| font | button text font, tuple: (font_name, size) | 
| dropdown_font | button text font, tuple: (font_name, size) | 
| hover | enable/disable hover effect: True, False | 
| state | "normal" (standard) or "disabled" (not clickable, darker color) | 
| command | function will be called when the dropdown is clicked manually | 
| variable | StringVar to control or get the current text | 
| values | list of strings with values that appear in the option menu dropdown | 
| dynamic_resizing | enable/disable automatic resizing of optionmenu when text is too big to fit: True (standard), False | 
| anchor | "n", "s", "e", "w", "center", orientation of the text inside the optionmenu, default is "w" | 
Methods
- .configure(attribute=value, ...)- All attributes can be configured and updated. - optionmenu.configure(values=["new value 1", "new value 2"])
- .cget(attribute_name)- Pass attribute name as string and get current value of attribute, for example. - state = optionmenu.cget("state")
- .set(value)- Set optionmenu to specific string value. Value don't has to be part of the values list. 
- .get()- Get current string value of optionmenu.