Skip to main content


Available since version 0.3.0.

Example Code

def button_event():
print("button pressed")

button = customtkinter.CTkButton(app, text="CTkButton", command=button_event)


masterroot, tkinter.Frame or CTkFrame
widthbutton width in px
heightbutton height in px
corner_radiuscorner radius in px
border_widthbutton border width in px
border_spacingspacing between text and image and button border in px, default is 2
fg_colorforground color, tuple: (light_color, dark_color) or single color or "transparent"
hover_colorhover color, tuple: (light_color, dark_color) or single color
border_colorborder 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), (set negative size value for size in pixels)
textvariabletkinter.StringVar object to change text of button
imageput an image on the button, removes the text, must be class PhotoImage
state"normal" (standard) or "disabled" (not clickable, darker color)
hoverenable/disable hover effect: True, False
commandcallback function
compoundset image orientation if image and text are given ("top", "left", "bottom", "right")
anchoralignment of text an image in button ("n", "ne", "e", "se", "s", "sw", "w", "nw", "center")


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

    All attributes can be configured, for example:

    button.configure(text="new text")
  • .cget(attribute_name)

    Pass attribute name as string and get current value of attribute, for example.

    text = button.cget("text")
  • .invoke()

    Calls command if button state is 'disabled'.