A modern messagebox for customtkinter
Project description
CTkMessagebox
A modern and fully customizable messagebox for CustomTkinter, A must-have extension pack!
Features
- Customize all elements inside the messagebox
- Add custom icons or images
- Add multiple options according to your wish
- No ugly looking header or borders
- Comes with 5 default icons
- Spawns at center of the screen/app
- Draggable window
- Fade-in/Fade-out window effect
Installation
How it looks?
Example
from CTkMessagebox import CTkMessagebox
import customtkinter
def show_info():
# Default messagebox for showing some information
CTkMessagebox(title="Info", message="This is a CTkMessagebox!")
def show_checkmark():
# Show some positive message with the checkmark icon
CTkMessagebox(message="CTkMessagebox is successfully installed.",
icon="check", option_1="Thanks")
def show_error():
# Show some error message
CTkMessagebox(title="Error", message="Something went wrong!!!", icon="cancel")
def show_warning():
# Show some retry/cancel warnings
msg = CTkMessagebox(title="Warning Message!", message="Unable to connect!",
icon="warning", option_1="Cancel", option_2="Retry")
if msg.get()=="Retry":
show_warning()
def ask_question():
# get yes/no answers
msg = CTkMessagebox(title="Exit?", message="Do you want to close the program?",
icon="question", option_1="Cancel", option_2="No", option_3="Yes")
response = msg.get()
if response=="Yes":
app.destroy()
else:
print("Click 'Yes' to exit!")
app = customtkinter.CTk()
app.rowconfigure((0,1,2,3,4,5), weight=1)
app.columnconfigure(0, weight=1)
app.minsize(200,250)
customtkinter.CTkLabel(app, text="CTk Messagebox Examples").grid(padx=20)
customtkinter.CTkButton(app, text="Check CTkMessagebox", command=show_checkmark).grid(padx=20, pady=10, sticky="news")
customtkinter.CTkButton(app, text="Show Info", command=show_info).grid(padx=20, pady=10, sticky="news")
customtkinter.CTkButton(app, text="Show Error", command=show_error).grid(padx=20, pady=10, sticky="news")
customtkinter.CTkButton(app, text="Show Warning", command=show_warning).grid(padx=20, pady=10, sticky="news")
customtkinter.CTkButton(app, text="Ask Question", command=ask_question).grid(padx=20, pady=(10,20), sticky="news")
app.mainloop()
OPTIONS
Parameters | Description |
---|---|
master | set parent window (optional), the box will spawn at center of the parent window |
width | width of the window in px (optional) |
height | height of the window in px (optional) |
fg_color | forground color of the messagebox [middle portion] |
bg_color | background color of the messagebox |
title | title of the messagebox |
message | main message of the messagebox which will be shown at the center |
option_1 | the text on the first button [Default is 'OK'] |
option_2 | the text on the second button |
option_3 | the text on the last button |
options | directly pass a list containing the options in order |
button_color | color of the buttons |
text_color | color of the message-text |
title_color | color of the title-text |
button_text_color | color of the button-text |
button_hover_color | hover color of the buttons |
button_width | width of the buttons in px |
button_height | height of the buttons in px |
border_width | width of the border around the main frame [Default is 1] |
border_color | color of the frame border |
cancel_button | define the cancel button type: circle, cross or None |
cancel_button_color | color of the close button, set it to 'transparent' if you want to hide it |
icon | icon that will be shown in the messagebox [Default is the 'info' icon] |
icon_size | define the size of the icon image manually (tuple) |
corner_radius | corner roundness of the messagebox window [not applicable in linux] |
font | font of the messagebox text (tuple) |
header | add the original header back if you don't like overrideredirect (bool) |
topmost | disable the topmost window outside the app (bool) |
fade_in_duration | enable a fade-in and fade-out animation (int, default is 0) |
Icons
Default icons:
(These icons are created using Paint.NET, free to use!)
For custom images, just use icon="image_path.png"
That's all, hope it will help in UI development!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
CTkMessagebox-2.2.tar.gz
(125.4 kB
view details)
Built Distribution
CTkMessagebox-2.2-py3-none-any.whl
(124.9 kB
view details)
File details
Details for the file CTkMessagebox-2.2.tar.gz
.
File metadata
- Download URL: CTkMessagebox-2.2.tar.gz
- Upload date:
- Size: 125.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 891cb2a071ff79316b3235974fca28578874a93ba3003abdf0e8db58704d70b0 |
|
MD5 | 15ea1c26065beaca1b5632bcea997f50 |
|
BLAKE2b-256 | 36a97e598f2f0cbe12fe706d6fdd19dadef2ba1c7543605f09e08350da31cee1 |
File details
Details for the file CTkMessagebox-2.2-py3-none-any.whl
.
File metadata
- Download URL: CTkMessagebox-2.2-py3-none-any.whl
- Upload date:
- Size: 124.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.10.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4e3aaa99e2d8f9d72fc02d143ee5a9028246450e628c441a612883208e346e2b |
|
MD5 | 8aca3ace8535c531df0ea1438c1956b8 |
|
BLAKE2b-256 | 30c55ec9e70aaf3fbde9a67ae9da80af16f4b4e822ee55a8a55dfcdb1a90fc09 |