Unofficial file dialog for CustomTkinter.
Download and place the CTkFileDialog folder (where __init__.py is located) into your script folder.
import customtkinter as ctk from CTkFileDialog import CTkFileDialog def open_dialog(): dialog = CTkFileDialog(title="Open project, please") if dialog.path: print(dialog.path) def open_folder_dialog(): dialog = CTkFileDialog(title="Open folder, please", open_folder=True) if dialog.path: print(dialog.path) def save_dialog(): dialog = CTkFileDialog( title="Save project, please", save=True, save_extension=".txt" ) if dialog.path: print(dialog.path) root = ctk.CTk() btn1 = ctk.CTkButton(root, text="Open", command=open_dialog) btn1.pack(padx=20, pady=20) btn2 = ctk.CTkButton(root, text="Open folder", command=open_folder_dialog) btn2.pack(padx=20, pady=20) btn3 = ctk.CTkButton(root, text="Save", command=save_dialog) btn3.pack(padx=20, pady=20) root.mainloop()| Argument | Description |
|---|---|
| width | dialog window width |
| height | dialog window height |
| hidden_files | False (by default) or True |
| initialdir | initial dir |
| title | dialog window title |
| save | save=False if open file (by default), save=True if save file |
| save_extension | Save extension, for example, save_extension=".txt" |
| open_folder | if open folder, True or False |
| button_color | buttons color, for example, button_color=red or button_color=#000000 |
| btn_hover_color | buttons hover color |
| button_radius | buttons radius, int |
| button_hover | True or False |
| button_border | buttons border width, int |
| btn_border_color | buttons hover color |
| btn_text_color | buttons text color |
| ok_text | "OK" button text, for example, ok_text="Done" |
| cancel_text | "Cancel" button text |
A widget that can be added to an existing window.
def my_command(): print(filewidget.path) filewidget = CTkFileWidget(root, command=my_command) filewidget.pack(padx=10, pady=10)| Argument | Description |
|---|---|
| master | master, required |
| command | the command that will be executed when you click "OK" |
| All of CTkFileDialog | except title and cancel_text |
- Brushshe (uses a modified version): fully functional painting app written in CustomTkinter



