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



