{"id":18717162,"url":"https://github.com/akascape/ctkmessagebox","last_synced_at":"2025-04-12T16:36:12.474Z","repository":{"id":83161086,"uuid":"606396622","full_name":"Akascape/CTkMessagebox","owner":"Akascape","description":"A fully customizable messagebox for customtkinter! (extension/add-on)","archived":false,"fork":false,"pushed_at":"2024-06-29T07:56:16.000Z","size":218,"stargazers_count":354,"open_issues_count":8,"forks_count":18,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-03T17:11:39.198Z","etag":null,"topics":["customtkinter","customtkinter-messagebox","messagebox","messageboxes","popup-window","python-ui","python3","tkinter","tkinter-gui","tkinter-messagebox"],"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":".github/FUNDING.yml","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},"funding":{"ko_fi":"akascape"}},"created_at":"2023-02-25T11:14:41.000Z","updated_at":"2025-03-29T23:47:37.000Z","dependencies_parsed_at":null,"dependency_job_id":"6b11bef5-3e50-4649-8da0-85b7e76e6d0a","html_url":"https://github.com/Akascape/CTkMessagebox","commit_stats":{"total_commits":77,"total_committers":4,"mean_commits":19.25,"dds":"0.051948051948051965","last_synced_commit":"4c068fb5de8d774d527de97690dde0863cc272e6"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akascape%2FCTkMessagebox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akascape%2FCTkMessagebox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akascape%2FCTkMessagebox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Akascape%2FCTkMessagebox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Akascape","download_url":"https://codeload.github.com/Akascape/CTkMessagebox/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248597347,"owners_count":21130859,"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-messagebox","messagebox","messageboxes","popup-window","python-ui","python3","tkinter","tkinter-gui","tkinter-messagebox"],"created_at":"2024-11-07T13:15:09.708Z","updated_at":"2025-04-12T16:36:12.438Z","avatar_url":"https://github.com/Akascape.png","language":"Python","funding_links":["https://ko-fi.com/akascape"],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eCTkMessagebox\u003c/h1\u003e\n\n\u003ch3 align=\"center\"\u003eA modern and fully customizable messagebox for CustomTkinter, A must-have extension pack!\u003c/h3\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \n  \u003ca href=\"https://creativecommons.org/publicdomain/zero/1.0/\"\u003e![License](https://img.shields.io/badge/License-CC0_1.0-blue)\u003c/a\u003e\n  \u003ca href=\"https://github.com/Akascape/CTkMessagebox/archive/refs/heads/main.zip\"\u003e![Download](https://img.shields.io/badge/Source_Code-Download-blue)\u003c/a\u003e\n  [![PyPI](https://img.shields.io/pypi/v/CTkMessagebox?style=flat)](https://pypi.org/project/CTkMessagebox)\n  [![Downloads](https://static.pepy.tech/badge/ctkmessagebox)](https://pepy.tech/project/ctkmessagebox)\n  ![Platform](https://img.shields.io/powershellgallery/p/Pester?color=blue)\n\u003c/div\u003e\n\n\n\u003cdiv align=\"center\"\u003e\n\n![3d](https://github.com/Akascape/CTkMessagebox/assets/89206401/cce577fc-6426-4c09-96f9-ede88caf7784)\n\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n\u003ch2 align=\"center\"\u003e Features \u003c/h2\u003e\n\n- Customize all elements inside the messagebox\n- Add custom icons or images\n- Add multiple options according to your wish\n- No ugly looking header or borders\n- Comes with **5 default icons**\n- Spawns at center of the screen/app\n- Draggable window\n- Fade-in/Fade-out window effect\n\n\u003cbr\u003e\n\n\u003ch2 align=\"center\"\u003e Installation \u003c/h2\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n```\npip install CTkMessagebox\n```\n\n[\u003cimg alt=\"GitHub repo size\" src=\"https://img.shields.io/github/repo-size/Akascape/CTkMessagebox?\u0026color=green\u0026label=Source%20Code\u0026logo=Python\u0026logoColor=yellow\u0026style=for-the-badge\"  width=\"300\"\u003e](https://github.com/Akascape/CTkMessagebox/archive/refs/heads/main.zip)\n\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e \n    \n\u003cbr\u003e\n\n\u003ch2 align=\"center\"\u003e How it looks? \u003c/h2\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n![Screenshot](https://user-images.githubusercontent.com/89206401/221258593-75058878-b598-40c3-828a-1d44a6cefb73.jpg)\n\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n\u003ch2 align=\"center\"\u003e Example \u003c/h2\u003e\n\n```python\nfrom CTkMessagebox import CTkMessagebox\nimport customtkinter\n\ndef show_info():\n    # Default messagebox for showing some information\n    CTkMessagebox(title=\"Info\", message=\"This is a CTkMessagebox!\")\n\ndef show_checkmark():\n    # Show some positive message with the checkmark icon\n    CTkMessagebox(message=\"CTkMessagebox is successfully installed.\",\n                  icon=\"check\", option_1=\"Thanks\")\n    \ndef show_error():\n    # Show some error message\n    CTkMessagebox(title=\"Error\", message=\"Something went wrong!!!\", icon=\"cancel\")\n    \ndef show_warning():\n    # Show some retry/cancel warnings\n    msg = CTkMessagebox(title=\"Warning Message!\", message=\"Unable to connect!\",\n                  icon=\"warning\", option_1=\"Cancel\", option_2=\"Retry\")\n    \n    if msg.get()==\"Retry\":\n        show_warning()\n        \ndef ask_question():\n    # get yes/no answers\n    msg = CTkMessagebox(title=\"Exit?\", message=\"Do you want to close the program?\",\n                        icon=\"question\", option_1=\"Cancel\", option_2=\"No\", option_3=\"Yes\")\n    response = msg.get()\n    \n    if response==\"Yes\":\n        app.destroy()       \n    else:\n        print(\"Click 'Yes' to exit!\")\n              \napp = customtkinter.CTk()\napp.rowconfigure((0,1,2,3,4,5), weight=1)\napp.columnconfigure(0, weight=1)\napp.minsize(200,250)\n\ncustomtkinter.CTkLabel(app, text=\"CTk Messagebox Examples\").grid(padx=20)\ncustomtkinter.CTkButton(app, text=\"Check CTkMessagebox\", command=show_checkmark).grid(padx=20, pady=10, sticky=\"news\")\ncustomtkinter.CTkButton(app, text=\"Show Info\", command=show_info).grid(padx=20, pady=10, sticky=\"news\")\ncustomtkinter.CTkButton(app, text=\"Show Error\", command=show_error).grid(padx=20, pady=10, sticky=\"news\")\ncustomtkinter.CTkButton(app, text=\"Show Warning\", command=show_warning).grid(padx=20, pady=10, sticky=\"news\")\ncustomtkinter.CTkButton(app, text=\"Ask Question\", command=ask_question).grid(padx=20, pady=(10,20), sticky=\"news\")\n\napp.mainloop()\n\n```\n\n\u003cbr\u003e\n\n\u003ch2 align=\"center\"\u003e OPTIONS \u003c/h2\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n  | Parameters  | Description |\n  | -------- | ----------- |\n  | _master_ | set parent window (optional), the box will spawn at center of the parent window |\n  | _width_ | width of the window in px (optional) |\n  | _height_ | height of the window in px (optional) |\n  | _fg_color_ | forground color of the messagebox [middle portion] |\n  | _bg_color_  | background color of the messagebox |\n  | **_title_** | title of the messagebox |\n  | **_message_** | main message of the messagebox which will be shown at the center |\n  | **_option_1_** | the text on the first button [Default is 'OK'] |\n  | **_option_2_** | the text on the second button |\n  | **_option_3_** | the text on the last button |\n  | _options_ | directly pass a list containing the options in order |\n  | _button_color_ | color of the buttons |\n  | _text_color_ | color of the message-text |\n  | _title_color_ | color of the title-text |\n  | _button_text_color_ | color of the button-text |\n  | _button_hover_color_ | hover color of the buttons |\n  | _button_width_ | width of the buttons in px |\n  | _button_height_ | height of the buttons in px |\n  | _border_width_ | width of the border around the main frame [Default is 1] |\n  | _border_color_ | color of the frame border |\n  | _cancel_button_ | define the cancel button type: **circle, cross or None** |\n  | _cancel_button_color_ | color of the **close** button, **set it to 'transparent' if you want to hide it** |\n  | **_icon_** | icon that will be shown in the messagebox [Default is the 'info' icon] |\n  | _icon_size_ | define the size of the icon image manually (tuple) |\n  | _corner_radius_ | corner roundness of the messagebox window [**not applicable in linux**] |\n  | _font_ | font of the messagebox text (tuple) |\n  | _header_ | add the original header back if you don't like **overrideredirect** (bool) |\n  | _topmost_ | disable the topmost window outside the app (bool) |\n  | _sound_ | enable the system bell sound when the window popups (bool) |\n  | _justify_ | position the buttons to center/right/left |\n  | _wraplength_ | change the text wrapping length |\n  | _option_focus_ | select an option by default when `Enter` key is pressed |\n  | **_fade_in_duration_** | enable a fade-in and fade-out animation (int, default is 0)  |\n\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n\u003ch2 align=\"center\"\u003e Icons \u003c/h2\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n**Default icons:**\n\n![icons](https://user-images.githubusercontent.com/89206401/221258403-aafea575-856e-4f4e-b3af-f995785c9879.png)\n\n(*These icons are created using Paint.NET, free to use!*)\n\n**For custom images, just use `icon=\"image_path.png\"`**\n\n## That's all, hope it will help in UI development! \n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakascape%2Fctkmessagebox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fakascape%2Fctkmessagebox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fakascape%2Fctkmessagebox/lists"}