Combobox#

Combobox is the native ttk drop-down list combined with an editable text field (ttk.Combobox), themed by ttkbootstrap. This page is the complete reference for its options, methods, and styling.

Options#

Each option can be set in the constructor and changed later with configure().

Option

Type

Description

bootstyle

str

Constructor keyword. An accent color, optionally with a variant. See Styling options for the available styles.

textvariable

Variable

A StringVar bound to the field’s contents.

values

list

The list of choices shown in the drop-down.

postcommand

callable

A callback run just before the drop-down list is posted.

height

int

The maximum number of rows shown in the drop-down before it scrolls.

show

str

A character to display instead of the real text (e.g. "*" for a password field).

justify

str

Text alignment: "left", "center", or "right".

font

str | Font

The font for the text.

foreground

str

The text color.

validate

str

When validation runs: "none", "focus", "focusin", "focusout", "key", or "all".

validatecommand

callable

The callback that validates a proposed value; returns a boolean.

invalidcommand

callable

The callback run when validatecommand returns false.

state

str

"normal", "readonly", or "disabled".

exportselection

bool

Whether the selection is exported to the clipboard/X selection.

cursor

str

The mouse cursor over the field (see Cursors).

takefocus

bool

Whether the field accepts keyboard focus during traversal.

width

int

The requested width in characters.

xscrollcommand

callable

A callback connecting the field to a horizontal scrollbar.

Methods#

current(newindex=None)

Return the index of the selected value in values, or set it when newindex is given.

Return type:

int

set(value)

Set the field’s contents to value.

Returns:

None.

get()

Return the current text.

Return type:

str

insert(index, string)

Insert string before the character at index ("end" appends).

Returns:

None.

delete(first, last=None)

Delete the characters from first through last (or a single one).

Returns:

None.

index(index)

Resolve an index expression ("insert", "end", …) to an integer.

Return type:

int

icursor(index)

Move the insert cursor to index.

Returns:

None.

selection_range(start, end)

Select the characters from start to end. Aliased as select_range; the selection_* / select_* family also has clear, present, adjust, from, and to.

Returns:

None.

xview(*args)

Query or set the horizontal view; usually wired to a scrollbar. Has xview_moveto(fraction) and xview_scroll(number, what) variants.

scan_mark(x)

Record a starting point for a fast drag-scroll (paired with scan_dragto(x), which scrolls the view relative to that point).

Returns:

None.

Styling options#

This section is for changing how the combobox looks. Define a style with style.configure(...) (and style.map(...) for per-state colors), then apply it with Combobox(style=...).

Bootstyle mapping#

Any of the accent colors – primary, secondary, success, info, warning, danger, light, dark – substitutes for primary below. neutral does not apply to this family.

bootstyle

ttk style name

primary

primary.TCombobox

Layout (elements)#

The widget is drawn from these nested parts. Each is an element you can target by name in a custom layout:

combo.Spinbox.field
  Combobox.padding
    Combobox.downarrow
    Combobox.textarea

Configurable style options#

Options you can set with style.configure(...) / style.map(...):

arrowcolor, arrowsize, background, bordercolor, darkcolor, fieldbackground, font, foreground, gripcount, lightcolor, orient, padding, relief, shiftrelief, sliderlength, troughcolor, width

Supported states#

The states you can target with style.map(...) to vary appearance by interaction:

!disabled, disabled, focus, invalid, pressed, readonly

Hand-styling example#

import ttkbootstrap as ttk

app = ttk.App()
style = app.style

style.configure("my.TCombobox", background="#3498db", foreground="white")
ttk.Combobox(app, style="my.TCombobox").pack(padx=8, pady=8)

app.mainloop()

Shared capabilities#

Combobox also has the methods every widget inherits — configuration, placement, event binding, lifecycle, focus, and introspection — plus the ttk state methods state / instate / identify. These are documented under Capabilities.

See also#