Skip to content

CTkButton

Tom Schimansky edited this page Nov 30, 2022 · 15 revisions

Example Code:

Default theme:

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

button = customtkinter.CTkButton(master=root_tk, text="CTkButton", command=button_event)
button.pack(padx=20, pady=10)

Customized:

button = customtkinter.CTkButton(master=root_tk,
                                 width=120,
                                 height=32,
                                 border_width=0,
                                 corner_radius=8,
                                 text="CTkButton",
                                 command=button_event)
button.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER)

Arguments:

argument value
master root, tkinter.Frame or CTkFrame
command callback function
textvariable tkinter.StringVar object to change text of button
text string
width button width in px
height button height in px
corner_radius corner radius in px
border_width button border width in px
fg_color forground color, tuple: (light_color, dark_color) or single color
bg_color background color, tuple: (light_color, dark_color) or single color
border_color border color, tuple: (light_color, dark_color) or single color
hover_color hover 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), (set negative size value for size in pixels)
hover enable/disable hover effect: True, False
image put an image on the button, removes the text, must be class PhotoImage
compound set image orientation if image and text are given ("top", "left", "bottom", "right")
state "normal" (standard) or "disabled" (not clickable, darker color)

Methods:

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

    All attributes can be configured and updated.

    ctk_button.configure(border_width=new_borderwidth)
    ctk_button.configure(image=new_image)
    ctk_button.configure(text=new_text)
    ctk_button.configure(command=callback_function)
    ...
  • .cget(attribute_name)

    Pass attribute name as string and get current value of attribute.

    state = ctk_button.cget("state")
    text = ctk_button.cget("text")
    ...

⚠️ Attention ⚠️

The Github Wiki is outdated, the new documentation can be found at:

https://customtkinter.tomschimansky.com

Clone this wiki locally