From 4b31e4dd0eacb7693627996464a3eaf222851dd1 Mon Sep 17 00:00:00 2001 From: TomSchimansky Date: Mon, 7 Mar 2022 23:00:50 +0100 Subject: [PATCH] updated readme for new wiki --- Readme.md | 345 +----------------- customtkinter/__init__.py | 2 +- ...ialog.py => customtkinter_input_dialog.py} | 2 +- test/test_string_dialog.py | 6 +- 4 files changed, 8 insertions(+), 347 deletions(-) rename customtkinter/{customtkinter_dialog.py => customtkinter_input_dialog.py} (99%) diff --git a/Readme.md b/Readme.md index 1b57ef9..ac34727 100644 --- a/Readme.md +++ b/Readme.md @@ -28,7 +28,9 @@ pip3 install customtkinter **Update existing installation:** ```pip3 install customtkinter --upgrade```\ (from time to time bugs are getting fixed and new features are added) -PyPI: https://pypi.org/project/customtkinter/ +### Documentation + +A **detailed documentation** can be found **[here](https://github.com/TomSchimansky/CustomTkinter/wiki)**. ### Example program (simple button): To test customtkinter you can try this simple example with only a single button: @@ -160,344 +162,3 @@ OpenStreetMap or other tile based maps: You can find the TkinterMapView library and the example program here: https://github.com/TomSchimansky/TkinterMapView - -# Documentation - CustomTkinter Elements - -### CTk -You can use the normal ``tkinter.Tk`` class to create the root window, -but if you want a background color that changes with the appearance mode and a dark title-bar on macOS, -you should use the `customtkinter.CTk` class which behaves exactly like the normal Tk -class, except that you can also set a tuple color as bg color. - -Example Code: - -```python -root_tk = customtkinter.CTk() - -... program ... - -root_tk.mainloop() -``` -
-Show all arguments and methods: - -argument | value ---- | --- -bg_color or bg | tuple: (light_color, dark_color) or single color - -CTk Methods: - -```python -root_tk = customtkinter.CTk() -# configure bg color with single or tuple color -root_tk.configure(bg_color="gray20") -root_tk.configure(bg_color=(, )) -``` -
- -### CTkToplevel - -CTkToplevel works exactly like the `Tkinter.Toplevel`, and should be used to create more than one window. - -
-Show all arguments and methods: - -argument | value ---- | --- -bg_color or bg | tuple: (light_color, dark_color) or single color -
- -### CTkFrame -Example Code: -```python -frame = customtkinter.CTkFrame(master=root_tk, - width=200, - height=200, - corner_radius=10) -frame.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER) -``` -
-Show all arguments and methods: - -argument | value ---- | --- -master | root, tkinter.Frame or CTkFrame -width | slider width in px -height | slider height in px -fg_color | foreground color, tuple: (light_color, dark_color) or single color -bg_color | background color, tuple: (light_color, dark_color) or single color -
- -### CTkButton -Example Code: -```python -def button_event(): - print("button pressed") - -button = customtkinter.CTkButton(master=root_tk, - width=120, - height=32, - border_width=0, - corner_radius=8, - text="CTkButton", - command=button_event) -button.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER) -``` -
-Show all arguments and methods: - -argument | value ---- | --- -master | root, tkinter.Frame or CTkFrame -command | callback function -textvariable | tkinter.StringVar object to change text of button -text | string -width | button width in px -height | button height in px -corner_radius | corner radius in px -border_width | button border width in px -fg_color | forground color, tuple: (light_color, dark_color) or single color -bg_color | background color, tuple: (light_color, dark_color) or single color -border_color | border color, tuple: (light_color, dark_color) or single color -hover_color | hover color, tuple: (light_color, dark_color) or single color -text_color | text color, tuple: (light_color, dark_color) or single color -text_font | button text font, tuple: (font_name, size) -hover | enable/disable hover effect: True, False -image | put an image on the button, removes the text, must be class PhotoImage -compound | set image orientation if image and text are given ("top", "left", "bottom", "right") -state | tkinter.NORMAL (standard) or tkinter.DISABLED (not clickable, darker color) - -CTkButton Methods: - -```python -CTkButton.set_text(new_text) -CTkButton.set_image(new_image) -CTkButton.configure(text=new_text) -CTkButton.configure(bg_color=new_bg_color, - fg_color=new_fg_color, - hover_color=new_hover_color, - text_color=new_text_color) -CTkButton.configure(state=tkinter.DISABLED) -CTkButton.configure(state=tkinter.NORMAL) -button_state = CTkButton.state -``` - -
- -### CTkLabel -Example Code: -```python -label = customtkinter.CTkLabel(master=root_tk, - text="CTkLabel", - width=120, - height=25, - corner_radius=8) -label.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER) -``` -
-Show all arguments and methods: - -argument | value ---- | --- -master | root, tkinter.Frame or CTkFrame -variable | tkinter.StringVar object -text | string -width | label width in px -height | label height in px -corner_radius | corner radius in px -fg_color | foreground color, tuple: (light_color, dark_color) or single color -bg_color | background color, tuple: (light_color, dark_color) or single color, None for transparent bg -text_color | label text color, tuple: (light_color, dark_color) or single color -text_font | label text font, tuple: (font_name, size) - -CTkLabel Methods: - -```python -CTkLabel.configure(text=new_text) -CTkLabel.configure(fg_color=new_fg_color, - bg_color=new_bg_color, - text_color=new_text_color) -``` - -
- -### CTkEntry -Example Code: -```python -entry = customtkinter.CTkEntry(master=root_tk, - placeholder_text="CTkEntry", - width=120, - height=25, - corner_radius=10) -entry.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER) - -text = entry.get() -``` -
-Show all arguments and methods: - -argument | value ---- | --- -master | root, tkinter.Frame or CTkFrame -variable | tkinter.StringVar object -width | entry width in px -height | entry height in px -corner_radius | corner radius in px -fg_color | foreground color, tuple: (light_color, dark_color) or single color -bg_color | background color, tuple: (light_color, dark_color) or single color -text_color | entry text color, tuple: (light_color, dark_color) or single color -placeholder_text_color | tuple: (light_color, dark_color) or single color -placeholder_text | hint on the entry input (disappears when selected), default is None -text_font | entry text font, tuple: (font_name, size) - - -CTkEntry Methods: - -```python -CTkEntry.delete(...) # like the standard tkinter Entry... -CTkEntry.insert(...) -text = CTkEntry.get() -``` - -
- -### CTkCheckBox -Examle Code: - -```python -checkbox = customtkinter.CTkCheckBox(master=root_tk, - text="CTkCheckBox") -checkbox.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER) -``` -
-Show all arguments and methods: - -argument | value ---- | --- -master | root, tkinter.Frame or CTkFrame -text | string -width | box width in px -height | box height in px -corner_radius | corner radius in px -border_width | box border width in px -fg_color | foreground (inside) color, tuple: (light_color, dark_color) or single color -bg_color | background color, tuple: (light_color, dark_color) or single color -border_color | border color, tuple: (light_color, dark_color) or single color -hover_color | hover color, tuple: (light_color, dark_color) or single color -text_color | text color, tuple: (light_color, dark_color) or single color -text_font | button text font, tuple: (font_name, size) -hover | enable/disable hover effect: True, False -state | tkinter.NORMAL (standard) or tkinter.DISABLED (not clickable, darker color) -command | function will be called when the checkbox is clicked - -CTkCheckBox Methods: -```python -CTkCheckBox.get() # 1 or 0 (checked or not checked) -CTkCheckBox.select() # turns on checkbox -CTkCheckBox.deselect() # turns off checkbox -CTkCheckBox.toggle() # change check state of checkbox -CTkCheckBox.configure(text=new_text) -CTkCheckBox.configure(bg_color=new_bg_color, - fg_color=new_fg_color, - hover_color=new_hover_color, - text_color=new_text_color) -CTkCheckBox.configure(state=tkinter.DISABLED) -CTkCheckBox.configure(state=tkinter.NORMAL) -checkbox_state = CTkCheckBox.state -``` - -
- -### CTkSlider -Example Code: -```python -def slider_event(value): - print(value) - -slider = customtkinter.CTkSlider(master=root_tk, - width=160, - height=16, - border_width=5.5, - from_=0, - to=100, - command=slider_event) -slider.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER) -``` -
-Show all arguments and methods: - -argument | value ---- | --- -master | root, tkinter.Frame or CTkFrame -command | callback function, gest called when slider gets changed -variable | tkinter.IntVar or tkinter.DoubleVar object -width | slider width in px -height | slider height in px -from_ | lower slider value -to | upper slider value -number_of_steps | number of steps in which the slider can be positioned -border_width | space around the slider rail in px -fg_color | foreground color, tuple: (light_color, dark_color) or single color -progress_color | tuple: (light_color, dark_color) or single color, colors the slider line before the round button and is set to fg_color by default -bg_color | background color, tuple: (light_color, dark_color) or single color -border_color | slider border color, normally transparent (None) -button_color | color of the slider button, tuple: (light_color, dark_color) or single color -button_hover_color | hover color, tuple: (light_color, dark_color) or single color - -CTkSlider Methods: -```python -value = CTkSlider.get() -CTkSlider.set(value) -``` - -
- -### CTkProgressBar -Example Code: -```python -progressbar = customtkinter.CTkProgressBar(master=root_tk, - width=160, - height=20, - border_width=5) -progressbar.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER) - -progressbar.set(value) -``` -
-Show all arguments and methods: - -argument | value ---- | --- -master | root, tkinter.Frame or CTkFrame -width | slider width in px -height | slider height in px -border_width | border width in px -fg_color | foreground color, tuple: (light_color, dark_color) or single color -bg_color | background color, tuple: (light_color, dark_color) or single color -border_color | slider border color, tuple: (light_color, dark_color) or single color -progress_color | progress color, tuple: (light_color, dark_color) or single color -
- -### Special commands -Change appearance mode: -```python -customtkinter.set_appearance_mode("Light") -customtkinter.set_appearance_mode("Dark") -customtkinter.set_appearance_mode("System") - -print(customtkinter.get_appearance_mode()) -``` - -Set default color theme: -```python -customtkinter.set_default_color_theme("dark-blue") # Themes: "blue" (standard), "green", "dark-blue" -``` - -Use macOS darkmode window style without using the `customtkinter.Ctk` class: -```python -customtkinter.enable_macos_darkmode() # get darkmode window style - - ... program ... - -customtkinter.disable_macos_darkmode() # disable darkmode (very important!) -``` diff --git a/customtkinter/__init__.py b/customtkinter/__init__.py index 21c16a5..6d94615 100644 --- a/customtkinter/__init__.py +++ b/customtkinter/__init__.py @@ -1,6 +1,6 @@ __version__ = "3.3" -from .customtkinter_dialog import CTkDialog +from .customtkinter_input_dialog import CTkInputDialog from .customtkinter_button import CTkButton from .customtkinter_slider import CTkSlider from .customtkinter_frame import CTkFrame diff --git a/customtkinter/customtkinter_dialog.py b/customtkinter/customtkinter_input_dialog.py similarity index 99% rename from customtkinter/customtkinter_dialog.py rename to customtkinter/customtkinter_input_dialog.py index 3d4ec5f..6dd138a 100644 --- a/customtkinter/customtkinter_dialog.py +++ b/customtkinter/customtkinter_input_dialog.py @@ -10,7 +10,7 @@ from .customtkinter_frame import CTkFrame from .customtkinter_toplevel import CTkToplevel -class CTkDialog: +class CTkInputDialog: def __init__(self, master=None, title="CTkDialog", diff --git a/test/test_string_dialog.py b/test/test_string_dialog.py index c0d2766..2444781 100644 --- a/test/test_string_dialog.py +++ b/test/test_string_dialog.py @@ -1,8 +1,8 @@ import customtkinter import tkinter -customtkinter.set_appearance_mode("light") -customtkinter.set_default_color_theme("dark-blue") +customtkinter.set_appearance_mode("dark") +customtkinter.set_default_color_theme("blue") app = customtkinter.CTk() app.geometry("400x300") @@ -17,7 +17,7 @@ def change_mode(): def button_click_event(): - dialog = customtkinter.CTkDialog(master=None, text="Type in a number:", title="Test") + dialog = customtkinter.CTkInputDialog(master=None, text="Type in a number:", title="Test") print("Number:", dialog.get_input())