Skip to main content

CTkComboBox

Example Code

Without variable:

def combobox_callback(choice):
print("combobox dropdown clicked:", choice)

combobox = customtkinter.CTkComboBox(app, values=["option 1", "option 2"],
command=combobox_callback)
combobox.set("option 2")

With variable:

def combobox_callback(choice):
print("combobox dropdown clicked:", choice)

combobox_var = customtkinter.StringVar(value="option 2")
combobox = customtkinter.CTkComboBox(app, values=["option 1", "option 2"],
command=combobox_callback, variable=combobox_var)
combobox_var.set("option 2")

Arguments

argumentvalue
masterroot, frame, top-level
widthbox width in px
heightbox height in px
corner_radiuscorner radius in px
border_widthborder width in px
fg_colorforeground (inside) color, tuple: (light_color, dark_color) or single color
border_colorborder color, tuple: (light_color, dark_color) or single color
button_colorright button color, tuple: (light_color, dark_color) or single color
button_hover_colorhover color, tuple: (light_color, dark_color) or single color
dropdown_fg_colordropdown fg color, tuple: (light_color, dark_color) or single color
dropdown_hover_colordropdown button hover color, tuple: (light_color, dark_color) or single color
dropdown_text_colordropdown text color, tuple: (light_color, dark_color) or single color
text_colortext color, tuple: (light_color, dark_color) or single color
text_color_disabledtext color when disabled, tuple: (light_color, dark_color) or single color
fontbutton text font, tuple: (font_name, size)
dropdown_fontbutton text font, tuple: (font_name, size)
valueslist of strings with values that appear in the dropdown menu
hoverenable/disable hover effect: True, False
state"normal" (standard), "disabled" (not clickable, darker color), "readonly"
commandfunction will be called when the dropdown is clicked manually
variableStringVar to control or get the current text
justify"right", "left", "center", orientation of the text inside the entry, default is "left"

Methods

  • .configure(attribute=value, ...)

    All attributes can be configured, for example:

    combobox.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 = combobox.cget("state")
  • .set(value)

    Set combobox to specific string value. Value don't has to be part of the values list.

  • .get()

    Get current string value of combobox entry.