def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.title(App.APP_NAME)
        self.geometry(str(App.WIDTH) + "x" + str(App.HEIGHT))
        self.minsize(App.WIDTH, App.HEIGHT)

        self.protocol("WM_DELETE_WINDOW", self.on_closing)
        # ============ create two CTkFrames ============

        self.frame_left = customtkinter.CTkFrame(master=self,
                                                width=220,
                                                height=App.HEIGHT-40,
                                                corner_radius=5)
        self.frame_left.place(relx=0.38, rely=0.5, anchor=tkinter.E)

        self.frame_right = customtkinter.CTkFrame(master=self,
                                                width=350,
                                                height=App.HEIGHT-40,
                                                corner_radius=5)
        self.frame_right.place(relx=0.40, rely=0.5, anchor=tkinter.W)

#        # ============ frame_right ============

        self.button_output = customtkinter.CTkButton(master=self.frame_right, border_color=App.MAIN_COLOR,
                                                fg_color=None, hover_color=App.MAIN_HOVER,
                                                height=28, text="Output Folder", command=self.button_outputFunc,
                                                border_width=3, corner_radius=10, text_font=('Calibri',12))
        self.button_output.place(relx=0.05, rely=0.06, anchor=tkinter.NW)
        self.entry_output = customtkinter.CTkEntry(master=self.frame_right, width=320, height=38, corner_radius=5)
        self.entry_output.place(relx=0.05, rely=0.18, anchor=tkinter.NW)
Beispiel #2
0
    def create_widgets_on_tk(self):
        x, y = 150, 80

        self.label_1 = customtkinter.CTkLabel(master=self,
                                              text="widgets_on_tk",
                                              fg_color="gray50")
        self.label_1.place(x=x, y=y, anchor=tkinter.CENTER)

        self.frame_1 = customtkinter.CTkFrame(master=self,
                                              width=200,
                                              height=60)
        self.frame_1.place(x=x, y=y + 80, anchor=tkinter.CENTER)

        self.button_1 = customtkinter.CTkButton(master=self)
        self.button_1.place(x=x, y=y + 160, anchor=tkinter.CENTER)

        self.entry_1 = customtkinter.CTkEntry(master=self)
        self.entry_1.place(x=x, y=y + 240, anchor=tkinter.CENTER)

        self.progress_bar_1 = customtkinter.CTkProgressBar(master=self)
        self.progress_bar_1.place(x=x, y=y + 320, anchor=tkinter.CENTER)

        self.slider_1 = customtkinter.CTkSlider(
            master=self,
            command=self.change_appearance_mode,
            from_=0,
            to=2,
            number_of_steps=2)
        self.slider_1.place(x=x, y=y + 400, anchor=tkinter.CENTER)

        self.check_box_1 = customtkinter.CTkCheckBox(master=self)
        self.check_box_1.place(x=x, y=y + 480, anchor=tkinter.CENTER)
Beispiel #3
0
    def create_widgets_on_tk_frame_customized(self):
        x, y = 1150, 40

        self.tk_frame_customized = tkinter.Frame(master=self,
                                                 width=300,
                                                 height=600,
                                                 bg="darkred")
        self.tk_frame_customized.place(x=x, y=y, anchor=tkinter.N)

        self.label_4 = customtkinter.CTkLabel(master=self.tk_frame_customized,
                                              text="customized",
                                              corner_radius=6)
        self.label_4.place(relx=0.5, y=y, anchor=tkinter.CENTER)
        self.label_4.configure(fg_color=("#F4F4FA", "#333D5E"),
                               text_color=("#373E57", "#7992C1"))

        self.frame_4 = customtkinter.CTkFrame(master=self.tk_frame_customized,
                                              width=200,
                                              height=60)
        self.frame_4.place(relx=0.5, y=y + 80, anchor=tkinter.CENTER)
        self.frame_4.configure(fg_color=("#EBECF3", "#4B577E"))

        self.button_4 = customtkinter.CTkButton(
            master=self.tk_frame_customized, command=lambda: x, border_width=3)
        self.button_4.place(relx=0.5, y=y + 160, anchor=tkinter.CENTER)
        self.button_4.configure(border_color=("#4F90F8", "#6FADF9"),
                                hover_color=("#3A65E8", "#4376EE"))
        self.button_4.configure(fg_color=None)

        self.entry_4 = customtkinter.CTkEntry(master=self.tk_frame_customized)
        self.entry_4.place(relx=0.5, y=y + 240, anchor=tkinter.CENTER)
        self.entry_4.configure(fg_color=("gray60", "gray5"))
        self.entry_4.insert(0, "1234567890")
        self.entry_4.focus_set()

        self.progress_bar_4 = customtkinter.CTkProgressBar(
            master=self.tk_frame_customized,
            height=16,
            fg_color=("#EBECF3", "#4B577E"))
        self.progress_bar_4.place(relx=0.5, y=y + 320, anchor=tkinter.CENTER)
        self.progress_bar_4.configure(progress_color="#8AE0C3",
                                      border_width=3,
                                      border_color=("gray60", "#4B577E"))

        self.slider_4 = customtkinter.CTkSlider(
            master=self.tk_frame_customized,
            command=self.change_frame_color,
            from_=0,
            to=10)
        self.slider_4.place(relx=0.5, y=y + 400, anchor=tkinter.CENTER)
        self.slider_4.configure(button_color="#8AE0C3",
                                fg_color=("#EBECF3", "#4B577E"),
                                progress_color=("gray30", "gray10"))
        self.slider_4.configure(from_=0, to=1)

        self.check_box_4 = customtkinter.CTkCheckBox(
            master=self.tk_frame_customized)
        self.check_box_4.place(relx=0.5, y=y + 480, anchor=tkinter.CENTER)
        self.check_box_4.configure(border_color="#8AE0C3")
Beispiel #4
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        self.title(App.APP_NAME)
        self.geometry(f"{App.WIDTH}x{App.HEIGHT}")
        self.minsize(App.WIDTH, App.HEIGHT)
        self.maxsize(App.WIDTH, App.HEIGHT)
        self.resizable(False, False)

        self.protocol("WM_DELETE_WINDOW", self.on_closing)

        # load image with PIL and convert to PhotoImage
        image = Image.open(PATH + "/test_images/bg_gradient.jpg").resize(
            (self.WIDTH, self.HEIGHT))
        self.bg_image = ImageTk.PhotoImage(image)

        self.image_label = tkinter.Label(master=self, image=self.bg_image)
        self.image_label.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER)

        self.frame = customtkinter.CTkFrame(master=self,
                                            width=300,
                                            height=App.HEIGHT,
                                            corner_radius=0)
        self.frame.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER)

        self.label_1 = customtkinter.CTkLabel(
            master=self.frame,
            width=200,
            height=60,
            fg_color=("gray70", "gray25"),
            text="CustomTkinter\ninterface example")
        self.label_1.place(relx=0.5, rely=0.3, anchor=tkinter.CENTER)

        self.entry_1 = customtkinter.CTkEntry(master=self.frame,
                                              corner_radius=6,
                                              width=200,
                                              placeholder_text="username")
        self.entry_1.place(relx=0.5, rely=0.52, anchor=tkinter.CENTER)

        self.entry_2 = customtkinter.CTkEntry(master=self.frame,
                                              corner_radius=6,
                                              width=200,
                                              show="*",
                                              placeholder_text="password")
        self.entry_2.place(relx=0.5, rely=0.6, anchor=tkinter.CENTER)

        self.button_2 = customtkinter.CTkButton(master=self.frame,
                                                text="Login",
                                                corner_radius=6,
                                                command=self.button_event,
                                                width=200)
        self.button_2.place(relx=0.5, rely=0.7, anchor=tkinter.CENTER)
    def __init__(self, master, x, y, options):
        super().__init__()

        self.overrideredirect(True)
        self.geometry(f"120x{len(options) * (25 + 3) + 3}+{x}+{y}")

        if sys.platform.startswith("darwin"):
            self.overrideredirect(False)
            self.wm_attributes("-transparent", True)  # turn off shadow
            self.config(bg='systemTransparent')  # transparent bg
            self.frame = customtkinter.CTkFrame(self, border_width=0, width=120, corner_radius=6, border_color="gray4", fg_color="#333740")
        elif sys.platform.startswith("win"):
            self.configure(bg="#FFFFF1")
            self.wm_attributes("-transparent", "#FFFFF1")
            self.focus()
            self.frame = customtkinter.CTkFrame(self, border_width=0, width=120, corner_radius=6, border_color="gray4", fg_color="#333740",
                                                overwrite_preferred_drawing_method="circle_shapes")
        else:
            self.configure(bg="#FFFFF1")
            self.wm_attributes("-transparent", "#FFFFF1")
            self.frame = customtkinter.CTkFrame(self, border_width=0, width=120, corner_radius=6, border_color="gray4", fg_color="#333740",
                                                overwrite_preferred_drawing_method="circle_shapes")

        self.frame.grid(row=0, column=0, sticky="nsew", rowspan=len(options) + 1, columnspan=1, ipadx=0, ipady=0)

        self.frame.grid_rowconfigure(len(options) + 1, minsize=3)
        self.frame.grid_columnconfigure(0, weight=1)
        self.grid_columnconfigure(0, weight=1)

        self.buttons = []
        for index, option in enumerate(options):
            button = customtkinter.CTkButton(self.frame, text=option, height=25, width=108, fg_color="#333740", text_color="gray74",
                                             hover_color="gray28", corner_radius=4, command=self.button_click)
            button.text_label.grid(row=0, column=0, rowspan=2, columnspan=2, sticky="w")
            button.grid(row=index, column=0, padx=(3, 3), pady=(3, 0), columnspan=1, rowspan=1, sticky="ew")
            self.buttons.append(button)

        self.bind("<FocusOut>", self.focus_loss_event)
        self.frame.canvas.bind("<Button-1>", self.focus_loss_event)
Beispiel #6
0
    def create_widgets_on_ctk_frame(self):
        x, y = 450, 40

        self.ctk_frame = customtkinter.CTkFrame(master=self,
                                                width=300,
                                                height=600)
        self.ctk_frame.place(x=x, y=y, anchor=tkinter.N)

        self.label_2 = customtkinter.CTkLabel(
            master=self.ctk_frame,
            text="create_widgets_on_ctk_frame",
            fg_color="gray50",
            width=200)
        self.label_2.place(relx=0.5, y=y, anchor=tkinter.CENTER)

        self.frame_2 = customtkinter.CTkFrame(master=self.ctk_frame,
                                              width=200,
                                              height=60)
        self.frame_2.place(relx=0.5, y=y + 80, anchor=tkinter.CENTER)

        self.button_2 = customtkinter.CTkButton(master=self.ctk_frame,
                                                border_width=3)
        self.button_2.place(relx=0.5, y=y + 160, anchor=tkinter.CENTER)

        self.entry_2 = customtkinter.CTkEntry(master=self.ctk_frame)
        self.entry_2.place(relx=0.5, y=y + 240, anchor=tkinter.CENTER)

        self.progress_bar_2 = customtkinter.CTkProgressBar(
            master=self.ctk_frame)
        self.progress_bar_2.place(relx=0.5, y=y + 320, anchor=tkinter.CENTER)

        self.slider_2 = customtkinter.CTkSlider(
            master=self.ctk_frame,
            command=lambda v: self.label_2.set_text(str(round(v, 5))))
        self.slider_2.place(relx=0.5, y=y + 400, anchor=tkinter.CENTER)

        self.check_box_2 = customtkinter.CTkCheckBox(master=self.ctk_frame)
        self.check_box_2.place(relx=0.5, y=y + 480, anchor=tkinter.CENTER)
def button_function():
    app.geometry(f"{200}x{200}")
    print("Button click", label_1.text_label.cget("text"))


def slider_function(value):
    customtkinter.set_widget_scaling(value * 2)
    customtkinter.set_spacing_scaling(value * 2)
    customtkinter.set_window_scaling(value * 2)
    progressbar_1.set(value)


y_padding = 13

frame_1 = customtkinter.CTkFrame(master=app)
frame_1.pack(pady=20, padx=60, fill="both", expand=True)
label_1 = customtkinter.CTkLabel(master=frame_1, justify=tkinter.LEFT)
label_1.pack(pady=y_padding, padx=10)
progressbar_1 = customtkinter.CTkProgressBar(master=frame_1)
progressbar_1.pack(pady=y_padding, padx=10)
button_1 = customtkinter.CTkButton(master=frame_1,
                                   corner_radius=8,
                                   command=button_function)
button_1.pack(pady=y_padding, padx=10)
slider_1 = customtkinter.CTkSlider(master=frame_1,
                                   command=slider_function,
                                   from_=0,
                                   to=1)
slider_1.pack(pady=y_padding, padx=10)
slider_1.set(0.5)
import customtkinter

customtkinter.set_default_color_theme("blue")
customtkinter.set_appearance_mode("dark")

app = customtkinter.CTk()
app.geometry("600x1000")

app.grid_columnconfigure(0, weight=1)
app.grid_columnconfigure(1, weight=1)
app.grid_columnconfigure(2, weight=1)
app.grid_columnconfigure(3, weight=1)

f1 = customtkinter.CTkFrame(app, fg_color="gray10", corner_radius=0)
f1.grid(row=0, column=0, rowspan=1, columnspan=1, sticky="nsew")
f1.grid_columnconfigure(0, weight=1)

f2 = customtkinter.CTkFrame(app, fg_color="gray10", corner_radius=0)
f2.grid(row=0, column=1, rowspan=1, columnspan=1, sticky="nsew")
f2.grid_columnconfigure(0, weight=1)

f3 = customtkinter.CTkFrame(app, fg_color="gray85", corner_radius=0)
f3.grid(row=0, column=2, rowspan=1, columnspan=1, sticky="nsew")
f3.grid_columnconfigure(0, weight=1)

f4 = customtkinter.CTkFrame(app, fg_color="gray90", corner_radius=0)
f4.grid(row=0, column=3, rowspan=1, columnspan=1, sticky="nsew")
f4.grid_columnconfigure(0, weight=1)

for i in range(0, 21, 1):
    b = customtkinter.CTkButton(f1,
Beispiel #9
0
    def __init__(self,
                 *args,
                 fg_color="#555555",
                 button_color="gray50",
                 button_hover_color="gray35",
                 text_color="black",
                 corner_radius=6,
                 button_corner_radius=3,
                 width=120,
                 button_height=24,
                 x_position=0,
                 y_position=0,
                 x_spacing=3,
                 y_spacing=3,
                 command=None,
                 values=None,
                 **kwargs):
        super().__init__(*args, **kwargs)

        ScalingTracker.add_widget(self.set_scaling, self)
        self._widget_scaling = ScalingTracker.get_widget_scaling(self)
        self._spacing_scaling = ScalingTracker.get_spacing_scaling(self)

        self.values = values
        self.command = command

        # color
        self.appearance_mode = AppearanceModeTracker.get_mode(
        )  # 0: "Light" 1: "Dark"
        self.fg_color = fg_color
        self.button_color = button_color
        self.button_hover_color = button_hover_color
        self.text_color = text_color

        # shape
        self.corner_radius = corner_radius
        self.button_corner_radius = button_corner_radius
        self.button_height = button_height
        self.width = width
        self.height = max(len(self.values), 1) * (
            self.button_height + self.apply_spacing_scaling(y_spacing)
        ) + self.apply_spacing_scaling(y_spacing)

        self.geometry(f"{round(self.apply_widget_scaling(self.width))}x" +
                      f"{round(self.apply_widget_scaling(self.height))}+" +
                      f"{round(x_position)}+{round(y_position)}")
        self.grid_columnconfigure(0, weight=1)
        self.grid_rowconfigure(0, weight=1)

        if sys.platform.startswith("darwin"):
            self.overrideredirect(True)  # remove title-bar
            self.overrideredirect(False)
            self.wm_attributes("-transparent", True)  # turn off window shadow
            self.config(bg='systemTransparent')  # transparent bg
            self.frame = customtkinter.CTkFrame(
                self,
                border_width=0,
                width=self.width,
                corner_radius=self.corner_radius,
                fg_color=ThemeManager.single_color(self.fg_color,
                                                   self.appearance_mode))

        elif sys.platform.startswith("win"):
            self.overrideredirect(True)  # remove title-bar
            self.configure(bg="#010302")
            self.wm_attributes("-transparentcolor", "#010302")
            self.focus()
            self.frame = customtkinter.CTkFrame(
                self,
                border_width=0,
                width=self.width,
                corner_radius=self.corner_radius,
                fg_color=self.fg_color,
                overwrite_preferred_drawing_method="circle_shapes")
        else:
            self.overrideredirect(True)  # remove title-bar
            self.configure(bg="#010302")
            self.wm_attributes("-transparentcolor", "#010302")
            self.frame = customtkinter.CTkFrame(
                self,
                border_width=0,
                width=self.width,
                corner_radius=self.corner_radius,
                fg_color=self.fg_color,
                overwrite_preferred_drawing_method="circle_shapes")

        self.frame.grid(row=0, column=0, sticky="nsew", rowspan=1)
        self.frame.grid_rowconfigure(
            len(self.values) + 1,
            minsize=self.apply_spacing_scaling(
                y_spacing))  # add spacing at the bottom
        self.frame.grid_columnconfigure(0, weight=1)

        self.button_list = []
        for index, option in enumerate(self.values):
            button = customtkinter.CTkButton(
                self.frame,
                text=option,
                height=self.button_height,
                width=self.width - 2 * self.apply_widget_scaling(x_spacing),
                fg_color=self.button_color,
                text_color=self.text_color,
                hover_color=self.button_hover_color,
                corner_radius=self.button_corner_radius,
                command=lambda i=index: self.button_callback(i))
            button.text_label.configure(anchor="w")
            button.text_label.grid(row=0,
                                   column=0,
                                   rowspan=2,
                                   columnspan=2,
                                   sticky="w")
            button.grid(row=index,
                        column=0,
                        padx=self.apply_widget_scaling(x_spacing),
                        pady=(self.apply_widget_scaling(y_spacing), 0),
                        sticky="ew")
            self.button_list.append(button)

        self.bind("<FocusOut>", self.focus_loss_event)
        self.frame.canvas.bind("<Button-1>", self.focus_loss_event)
app.geometry("400x400")


def button_callback():
    button_1.configure(width=random.randint(30, 200), height=random.randint(30, 60))
    frame_1.configure(width=random.randint(30, 200), height=random.randint(30, 200))
    label_1.configure(width=random.randint(30, 200), height=random.randint(30, 40))
    entry_1.configure(width=random.randint(30, 200), height=random.randint(30, 40))
    progressbar_1.configure(width=random.randint(30, 200), height=random.randint(10, 16))
    slider_1.configure(width=random.randint(30, 200), height=random.randint(14, 20))


button_1 = customtkinter.CTkButton(app, text="button_1", command=button_callback)
button_1.pack(pady=10)

frame_1 = customtkinter.CTkFrame(app)
frame_1.pack(pady=10)

label_1 = customtkinter.CTkLabel(app, fg_color="green")
label_1.pack(pady=10)

entry_1 = customtkinter.CTkEntry(app, placeholder_text="placeholder")
entry_1.pack(pady=10)

progressbar_1 = customtkinter.CTkProgressBar(app)
progressbar_1.pack(pady=10)

slider_1 = customtkinter.CTkSlider(app)
slider_1.pack(pady=10)

app.mainloop()
Beispiel #11
0
        (image_size, image_size), Image.ANTIALIAS))
add_user_image = ImageTk.PhotoImage(
    Image.open(PATH + "/test_images/add-user.png").resize(
        (image_size, image_size), Image.ANTIALIAS))
chat_image = ImageTk.PhotoImage(
    Image.open(PATH + "/test_images/chat.png").resize((image_size, image_size),
                                                      Image.ANTIALIAS))
home_image = ImageTk.PhotoImage(
    Image.open(PATH + "/test_images/home.png").resize((image_size, image_size),
                                                      Image.ANTIALIAS))

app.grid_rowconfigure(0, weight=1)
app.grid_columnconfigure(0, weight=1, minsize=200)

frame_1 = customtkinter.CTkFrame(master=app,
                                 width=250,
                                 height=240,
                                 corner_radius=15)
frame_1.grid(row=0, column=0, padx=20, pady=20, sticky="nsew")

frame_1.grid_columnconfigure(0, weight=1)
frame_1.grid_columnconfigure(1, weight=1)
frame_1.grid_rowconfigure(0, minsize=10)  # add empty row for spacing

button_1 = customtkinter.CTkButton(master=frame_1,
                                   image=add_folder_image,
                                   text="Add Folder",
                                   width=190,
                                   height=40,
                                   compound="right",
                                   command=button_function)
button_1.grid(row=1, column=0, columnspan=2, padx=20, pady=10, sticky="ew")
Beispiel #12
0
def button_function():
    app.geometry(f"{200}x{200}")
    print("Button click", label_1.text_label.cget("text"))


def slider_function(value):
    customtkinter.set_widget_scaling(value * 2)
    customtkinter.set_spacing_scaling(value * 2)
    customtkinter.set_window_scaling(value * 2)
    progressbar_1.set(value)


y_padding = 13

frame_1 = customtkinter.CTkFrame(master=app, height=550, width=300)
frame_1.place(relx=0.5, rely=0.5, anchor=tkinter.CENTER)
label_1 = customtkinter.CTkLabel(master=frame_1, justify=tkinter.LEFT)
label_1.place(relx=0.5, y=50, anchor=tkinter.CENTER)
progressbar_1 = customtkinter.CTkProgressBar(master=frame_1)
progressbar_1.place(relx=0.5, y=100, anchor=tkinter.CENTER)
button_1 = customtkinter.CTkButton(master=frame_1,
                                   corner_radius=8,
                                   command=button_function)
button_1.place(relx=0.5, y=150, anchor=tkinter.CENTER)
slider_1 = customtkinter.CTkSlider(master=frame_1,
                                   command=slider_function,
                                   from_=0,
                                   to=1)
slider_1.place(relx=0.5, y=200, anchor=tkinter.CENTER)
slider_1.set(0.5)
    def __init__(self):
        super().__init__()

        self.title("CustomTkinter complex_example.py")
        self.geometry(f"{App.WIDTH}x{App.HEIGHT}")
        self.protocol(
            "WM_DELETE_WINDOW",
            self.on_closing)  # call .on_closing() when app gets closed

        # ============ create two frames ============

        # configure grid layout (2x1)
        self.grid_columnconfigure(1, weight=1)
        self.grid_rowconfigure(0, weight=1)

        self.frame_left = customtkinter.CTkFrame(master=self,
                                                 width=180,
                                                 corner_radius=0)
        self.frame_left.grid(row=0, column=0, sticky="nswe")

        self.frame_right = customtkinter.CTkFrame(master=self)
        self.frame_right.grid(row=0, column=1, sticky="nswe", padx=20, pady=20)

        # ============ frame_left ============

        # configure grid layout (1x11)
        self.frame_left.grid_rowconfigure(
            0, minsize=10)  # empty row with minsize as spacing
        self.frame_left.grid_rowconfigure(5, weight=1)  # empty row as spacing
        self.frame_left.grid_rowconfigure(
            8, minsize=20)  # empty row with minsize as spacing
        self.frame_left.grid_rowconfigure(
            11, minsize=10)  # empty row with minsize as spacing

        self.label_1 = customtkinter.CTkLabel(
            master=self.frame_left,
            text="CustomTkinter",
            text_font=("Roboto Medium", -16))  # font name and size in px
        self.label_1.grid(row=1, column=0, pady=10, padx=10)

        self.button_1 = customtkinter.CTkButton(
            master=self.frame_left,
            text="CTkButton 1",
            fg_color=("gray75", "gray30"),  # <- custom tuple-color
            command=self.button_event)
        self.button_1.grid(row=2, column=0, pady=10, padx=20)

        self.button_2 = customtkinter.CTkButton(
            master=self.frame_left,
            text="CTkButton 2",
            fg_color=("gray75", "gray30"),  # <- custom tuple-color
            command=self.button_event)
        self.button_2.grid(row=3, column=0, pady=10, padx=20)

        self.button_3 = customtkinter.CTkButton(
            master=self.frame_left,
            text="CTkButton 3",
            fg_color=("gray75", "gray30"),  # <- custom tuple-color
            command=self.button_event)
        self.button_3.grid(row=4, column=0, pady=10, padx=20)

        self.switch_1 = customtkinter.CTkSwitch(master=self.frame_left)
        self.switch_1.grid(row=9, column=0, pady=10, padx=20, sticky="w")

        self.switch_2 = customtkinter.CTkSwitch(master=self.frame_left,
                                                text="Dark Mode",
                                                command=self.change_mode)
        self.switch_2.grid(row=10, column=0, pady=10, padx=20, sticky="w")

        # ============ frame_right ============

        # configure grid layout (3x7)
        self.frame_right.rowconfigure((0, 1, 2, 3), weight=1)
        self.frame_right.rowconfigure(7, weight=10)
        self.frame_right.columnconfigure((0, 1), weight=1)
        self.frame_right.columnconfigure(2, weight=0)

        self.frame_info = customtkinter.CTkFrame(master=self.frame_right)
        self.frame_info.grid(row=0,
                             column=0,
                             columnspan=2,
                             rowspan=4,
                             pady=20,
                             padx=20,
                             sticky="nsew")

        # ============ frame_info ============

        # configure grid layout (1x1)
        self.frame_info.rowconfigure(0, weight=1)
        self.frame_info.columnconfigure(0, weight=1)

        self.label_info_1 = customtkinter.CTkLabel(
            master=self.frame_info,
            text="CTkLabel: Lorem ipsum dolor sit,\n" +
            "amet consetetur sadipscing elitr,\n" +
            "sed diam nonumy eirmod tempor",
            height=100,
            fg_color=("white", "gray38"),  # <- custom tuple-color
            justify=tkinter.LEFT)
        self.label_info_1.grid(column=0, row=0, sticky="nwe", padx=15, pady=15)

        self.progressbar = customtkinter.CTkProgressBar(master=self.frame_info)
        self.progressbar.grid(row=1, column=0, sticky="ew", padx=15, pady=15)

        # ============ frame_right ============

        self.radio_var = tkinter.IntVar(value=0)

        self.label_radio_group = customtkinter.CTkLabel(
            master=self.frame_right, text="CTkRadioButton Group:")
        self.label_radio_group.grid(row=0,
                                    column=2,
                                    columnspan=1,
                                    pady=20,
                                    padx=10,
                                    sticky="")

        self.radio_button_1 = customtkinter.CTkRadioButton(
            master=self.frame_right, variable=self.radio_var, value=0)
        self.radio_button_1.grid(row=1, column=2, pady=10, padx=20, sticky="n")

        self.radio_button_2 = customtkinter.CTkRadioButton(
            master=self.frame_right, variable=self.radio_var, value=1)
        self.radio_button_2.grid(row=2, column=2, pady=10, padx=20, sticky="n")

        self.radio_button_3 = customtkinter.CTkRadioButton(
            master=self.frame_right, variable=self.radio_var, value=2)
        self.radio_button_3.grid(row=3, column=2, pady=10, padx=20, sticky="n")

        self.slider_1 = customtkinter.CTkSlider(master=self.frame_right,
                                                from_=0,
                                                to=1,
                                                number_of_steps=3,
                                                command=self.progressbar.set)
        self.slider_1.grid(row=4,
                           column=0,
                           columnspan=2,
                           pady=10,
                           padx=20,
                           sticky="we")

        self.slider_2 = customtkinter.CTkSlider(master=self.frame_right,
                                                command=self.progressbar.set)
        self.slider_2.grid(row=5,
                           column=0,
                           columnspan=2,
                           pady=10,
                           padx=20,
                           sticky="we")

        self.slider_button_1 = customtkinter.CTkButton(
            master=self.frame_right,
            height=25,
            text="CTkButton",
            command=self.button_event)
        self.slider_button_1.grid(row=4,
                                  column=2,
                                  columnspan=1,
                                  pady=10,
                                  padx=20,
                                  sticky="we")

        self.slider_button_2 = customtkinter.CTkButton(
            master=self.frame_right,
            height=25,
            text="CTkButton",
            command=self.button_event)
        self.slider_button_2.grid(row=5,
                                  column=2,
                                  columnspan=1,
                                  pady=10,
                                  padx=20,
                                  sticky="we")

        self.checkbox_button_1 = customtkinter.CTkButton(
            master=self.frame_right,
            height=25,
            text="CTkButton",
            border_width=3,  # <- custom border_width
            fg_color=None,  # <- no fg_color
            command=self.button_event)
        self.checkbox_button_1.grid(row=6,
                                    column=2,
                                    columnspan=1,
                                    pady=10,
                                    padx=20,
                                    sticky="we")

        self.check_box_1 = customtkinter.CTkCheckBox(master=self.frame_right,
                                                     text="CTkCheckBox")
        self.check_box_1.grid(row=6, column=0, pady=10, padx=20, sticky="w")

        self.check_box_2 = customtkinter.CTkCheckBox(master=self.frame_right,
                                                     text="CTkCheckBox")
        self.check_box_2.grid(row=6, column=1, pady=10, padx=20, sticky="w")

        self.entry = customtkinter.CTkEntry(master=self.frame_right,
                                            width=120,
                                            placeholder_text="CTkEntry")
        self.entry.grid(row=8,
                        column=0,
                        columnspan=2,
                        pady=20,
                        padx=20,
                        sticky="we")

        self.button_5 = customtkinter.CTkButton(master=self.frame_right,
                                                text="CTkButton",
                                                command=self.button_event)
        self.button_5.grid(row=8,
                           column=2,
                           columnspan=1,
                           pady=20,
                           padx=20,
                           sticky="we")

        # set default values
        self.radio_button_1.select()
        self.switch_2.select()
        self.slider_1.set(0.2)
        self.slider_2.set(0.7)
        self.progressbar.set(0.5)
        self.slider_button_1.configure(state=tkinter.DISABLED,
                                       text="Disabled Button")
        self.radio_button_3.configure(state=tkinter.DISABLED)
        self.check_box_1.configure(state=tkinter.DISABLED,
                                   text="CheckBox disabled")
        self.check_box_2.select()