CTkMenuBar
CTkMenuBar copied to clipboard
Modern menu/tool bar widget library for customtkinter. (extension/add-on)
CTkMenuBar
Modern menu bar widget library for customtkinter.
Features
- Custom dropdown menus
- Add menu in top of title bar
- Classic and modern menubar with full customisability
- Add commands and submenus
Installation
pip install CTkMenuBar
Menu Types
-
CTkMenuBar
Usage
from CTkMenuBar import *
...
menu = CTkMenuBar(master=root)
menu.add_cascade("Menu")
...
Methods
- .add_cascade(text, ctk_button_args...): add new menu button in the menu bar
- .configure(*args): update parameters
Arguments
Parameter | Description |
---|---|
master | define the master widget, can be root or frame |
bg_color | set the bg color of the menu bar |
height | set height of the menu bar |
width | set width of the menu bar buttons |
padx | set internal padding between menu bar buttons |
pady | set internal padding in top and bottom of menu bar |
postcommand | add a command before spawing the dropdown |
*other frame parameters | other ctk frame parameters can also be passed |
-
CTkTitleMenu
This title menu is only supported in windows OS!
Usage
from CTkMenuBar import *
...
menu = CTkTitleMenu(master=root)
menu.add_cascade("Menu")
...
Methods
- .add_cascade(text, ctk_button_kwargs...): add new menu button in the menu bar
Arguments
Parameter | Description |
---|---|
master | define the master window, can be root or toplevel only |
bg_color | set the bg color of the menu bar |
title_bar_color | set color to the header (only works with windows 11), RGB order: 0x00rrggbb |
width | set width of the menu bar buttons |
padx | set internal padding between menu bar buttons |
x_offset | set the x distance from the header |
y_offset | set the y distance from the header |
postcommand | add a command before spawing the dropdown |
*other frame parameters | other ctk frame parameters can also be passed |
CustomDropdownMenu
This is the common dropdown menu class which is used by both ctkmenubar and ctktitlemenu.
Usage
from CTkMenuBar import *
...
dropdown = CustomDropdownMenu(widget=button)
dropdown.add_option(option="value")
dropdown.add_separator()
submenu = dropdown.add_submenu("submenu")
submenu.add_option(option="value")
...
Methods
- .add_option(option, command): add option to the dropdown and attach the command
- .add_separator(): add a separator line between the options
- .add_submenu(submenu_name): add a submenu as option
- .configure(*args): change dropdown menu options
Arguments
Parameter | Description |
---|---|
widget | attach the dropdown to the cascade widget |
master | optional, change the spawn window if required |
bg_color | set the bg color of the dropdown |
fg_color | set the option button fg color |
text_color | set the text color |
hover_color | set hover color of the option button |
separator_color | change the separator line color |
font | change the font of the text |
width | set width of the dropdown |
height | set height of the dropdown |
padx | set padding in x for the dropdown frame |
pady | set padding in y for the dropdown frame |
*other frame parameters | other ctk frame parameters can also be passed |
Credits goes to LucianoSaldivia for providing this dropdown menu class.