Customtkinter Menu Widget
Project description
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(*frame_kwargs)
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ctkmenubar-0.8.tar.gz
(10.7 kB
view hashes)
Built Distribution
CTkMenuBar-0.8-py3-none-any.whl
(11.9 kB
view hashes)