{"id":18717161,"url":"https://github.com/akascape/ctkmenubar","last_synced_at":"2025-04-13T04:59:35.923Z","repository":{"id":170601260,"uuid":"646702386","full_name":"Akascape/CTkMenuBar","owner":"Akascape","description":"Modern menu/tool bar widget library for customtkinter. (extension/add-on)","archived":false,"fork":false,"pushed_at":"2024-11-07T11:10:56.000Z","size":79,"stargazers_count":129,"open_issues_count":12,"forks_count":12,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-13T04:59:26.683Z","etag":null,"topics":["customtkinter","customtkinter-menu","menubar","titlebar-toolbar","tkinter","tkinter-gui","tkinter-menubar","tkinter-python","toolbar"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Akascape.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-29T06:32:40.000Z","updated_at":"2025-03-30T03:43:48.000Z","dependencies_parsed_at":"2024-11-07T12:21:08.823Z","dependency_job_id":"cb81bce2-5661-40fd-a8d6-3a9399093e4a","html_url":"https://github.com/Akascape/CTkMenuBar","commit_stats":{"total_commits":48,"total_committers":1,"mean_commits":48.0,"dds":0.0,"last_synced_commit":"e61d90caed7ba332642afbe90c820947440895db"},"previous_names":["akascape/ctkmenubar"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akascape%2FCTkMenuBar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akascape%2FCTkMenuBar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akascape%2FCTkMenuBar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akascape%2FCTkMenuBar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Akascape","download_url":"https://codeload.github.com/Akascape/CTkMenuBar/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665756,"owners_count":21142123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["customtkinter","customtkinter-menu","menubar","titlebar-toolbar","tkinter","tkinter-gui","tkinter-menubar","tkinter-python","toolbar"],"created_at":"2024-11-07T13:15:09.705Z","updated_at":"2025-04-13T04:59:35.904Z","avatar_url":"https://github.com/Akascape.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CTkMenuBar\nModern menu bar widget library for customtkinter.\n\n## Features\n- Custom dropdown menus\n- Add menu in top of title bar\n- Classic and modern menubar with full customisability\n- Add commands and submenus\n\n## Installation\n\n```\npip install CTkMenuBar\n```\n### [\u003cimg alt=\"GitHub repo size\" src=\"https://img.shields.io/github/repo-size/Akascape/CTkMenuBar?\u0026color=white\u0026label=Download%20Source%20Code\u0026logo=Python\u0026logoColor=yellow\u0026style=for-the-badge\"  width=\"400\"\u003e](https://github.com/Akascape/CTkMenuBar/archive/refs/heads/main.zip)\n\n## Menu Types\n- ## CTkMenuBar\n\n![menubar](https://github.com/Akascape/CTkMenuBar/assets/89206401/02c512b2-557f-4d59-86e0-a6eb9da3696c)\n\n### Usage\n```python\nfrom CTkMenuBar import *\n...\nmenu = CTkMenuBar(master=root)\nmenu.add_cascade(\"Menu\")\n...\n```\n\n### Methods\n- **.add_cascade(text, ctk_button_args...)**: add new menu button in the menu bar\n- **.configure(*args)**: update parameters \n\n### Arguments\n| Parameter | Description |\n|-----------| ------------|\n| **master** | define the master widget, can be root or frame |\n| bg_color | set the bg color of the menu bar |\n| height | set height of the menu bar |\n| width | set width of the menu bar buttons |\n| padx | set internal padding between menu bar buttons |\n| pady | set internal padding in top and bottom of menu bar |\n| postcommand | add a command before spawing the dropdown |\n| _*other frame parameters_ | other ctk frame parameters can also be passed |\n\n- ## CTkTitleMenu\n\n_This title menu is only supported in windows OS!_\n\n![titlebar](https://github.com/Akascape/CTkMenuBar/assets/89206401/da6cd858-f700-476c-a2f0-93a1c6335a4d)\n\n### Usage\n```python\nfrom CTkMenuBar import *\n...\nmenu = CTkTitleMenu(master=root)\nmenu.add_cascade(\"Menu\")\n...\n```\n\n### Methods\n- **.add_cascade(text, ctk_button_kwargs...)**: add new menu button in the menu bar\n\n### Arguments\n| Parameter | Description |\n|-----------| ------------|\n| **master** | define the master window, can be **root or toplevel** only |\n| bg_color | set the bg color of the menu bar |\n| title_bar_color | set color to the header (**only works with windows 11**), `RGB order: 0x00rrggbb` |\n| width | set width of the menu bar buttons |\n| padx | set internal padding between menu bar buttons |\n| x_offset | set the x distance from the header |\n| y_offset | set the y distance from the header |\n| postcommand | add a command before spawing the dropdown |\n| _*other frame parameters_ | other ctk frame parameters can also be passed |\n\n## CustomDropdownMenu\n\nThis is the common dropdown menu class which is used by both ctkmenubar and ctktitlemenu. \n\n### Usage\n```python\nfrom CTkMenuBar import *\n...\ndropdown = CustomDropdownMenu(widget=button)\ndropdown.add_option(option=\"value\") \ndropdown.add_separator() \nsubmenu = dropdown.add_submenu(\"submenu\") \nsubmenu.add_option(option=\"value\") \n...\n```\n\n### Methods\n- **.add_option(option, command)**: add option to the dropdown and attach the command\n- **.add_separator()**: add a separator line between the options\n- **.add_submenu(submenu_name)**: add a submenu as option\n- **.configure(*args)**: change dropdown menu options\n  \n### Arguments\n| Parameter | Description |\n|-----------| ------------|\n| **widget** | attach the dropdown to the cascade widget |\n| master | *optional*, change the spawn window if required |\n| bg_color | set the bg color of the dropdown |\n| fg_color | set the option button fg color |\n| text_color | set the text color |\n| hover_color | set hover color of the option button |\n| separator_color | change the separator line color |\n| font | change the font of the text |\n| width | set width of the dropdown |\n| height | set height of the dropdown |\n| padx | set padding in x for the dropdown frame |\n| pady | set padding in y for the dropdown frame |\n| _*other frame parameters_ | other ctk frame parameters can also be passed |\n\n_Credits goes to [LucianoSaldivia](https://github.com/LucianoSaldivia) for providing this dropdown menu class._\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakascape%2Fctkmenubar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakascape%2Fctkmenubar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakascape%2Fctkmenubar/lists"}