From eec16e4509261ba683f330fc24a1c195a3f70994 Mon Sep 17 00:00:00 2001 From: Tom Schimansky Date: Tue, 17 May 2022 18:59:33 +0200 Subject: [PATCH] fixed color bug when CTkEntry was disabled --- customtkinter/widgets/ctk_entry.py | 47 ++++++++++++---------- customtkinter/widgets/widget_base_class.py | 1 - examples/simple_example.py | 1 - 3 files changed, 26 insertions(+), 23 deletions(-) diff --git a/customtkinter/widgets/ctk_entry.py b/customtkinter/widgets/ctk_entry.py index 0efa054..fecd94e 100644 --- a/customtkinter/widgets/ctk_entry.py +++ b/customtkinter/widgets/ctk_entry.py @@ -103,29 +103,34 @@ class CTkEntry(CTkBaseClass): self.apply_widget_scaling(self.corner_radius), self.apply_widget_scaling(self.border_width)) - if CTkThemeManager.single_color(self.fg_color, self.appearance_mode) is not None: - self.canvas.itemconfig("inner_parts", - fill=CTkThemeManager.single_color(self.fg_color, self.appearance_mode), - outline=CTkThemeManager.single_color(self.fg_color, self.appearance_mode)) - self.entry.configure(bg=CTkThemeManager.single_color(self.fg_color, self.appearance_mode), - highlightcolor=CTkThemeManager.single_color(self.fg_color, self.appearance_mode), - fg=CTkThemeManager.single_color(self.text_color, self.appearance_mode), - insertbackground=CTkThemeManager.single_color(self.text_color, self.appearance_mode)) - else: - self.canvas.itemconfig("inner_parts", - fill=CTkThemeManager.single_color(self.bg_color, self.appearance_mode), - outline=CTkThemeManager.single_color(self.bg_color, self.appearance_mode)) - self.entry.configure(bg=CTkThemeManager.single_color(self.bg_color, self.appearance_mode), - highlightcolor=CTkThemeManager.single_color(self.bg_color, self.appearance_mode), - fg=CTkThemeManager.single_color(self.text_color, self.appearance_mode), - insertbackground=CTkThemeManager.single_color(self.text_color, self.appearance_mode)) + if requires_recoloring or no_color_updates is False: + if CTkThemeManager.single_color(self.fg_color, self.appearance_mode) is not None: + self.canvas.itemconfig("inner_parts", + fill=CTkThemeManager.single_color(self.fg_color, self.appearance_mode), + outline=CTkThemeManager.single_color(self.fg_color, self.appearance_mode)) + self.entry.configure(bg=CTkThemeManager.single_color(self.fg_color, self.appearance_mode), + disabledbackground=CTkThemeManager.single_color(self.fg_color, self.appearance_mode), + highlightcolor=CTkThemeManager.single_color(self.fg_color, self.appearance_mode), + fg=CTkThemeManager.single_color(self.text_color, self.appearance_mode), + disabledforeground=CTkThemeManager.single_color(self.text_color, self.appearance_mode), + insertbackground=CTkThemeManager.single_color(self.text_color, self.appearance_mode)) + else: + self.canvas.itemconfig("inner_parts", + fill=CTkThemeManager.single_color(self.bg_color, self.appearance_mode), + outline=CTkThemeManager.single_color(self.bg_color, self.appearance_mode)) + self.entry.configure(bg=CTkThemeManager.single_color(self.bg_color, self.appearance_mode), + disabledbackground=CTkThemeManager.single_color(self.bg_color, self.appearance_mode), + highlightcolor=CTkThemeManager.single_color(self.bg_color, self.appearance_mode), + fg=CTkThemeManager.single_color(self.text_color, self.appearance_mode), + disabledforeground=CTkThemeManager.single_color(self.text_color, self.appearance_mode), + insertbackground=CTkThemeManager.single_color(self.text_color, self.appearance_mode)) - self.canvas.itemconfig("border_parts", - fill=CTkThemeManager.single_color(self.border_color, self.appearance_mode), - outline=CTkThemeManager.single_color(self.border_color, self.appearance_mode)) + self.canvas.itemconfig("border_parts", + fill=CTkThemeManager.single_color(self.border_color, self.appearance_mode), + outline=CTkThemeManager.single_color(self.border_color, self.appearance_mode)) - if self.placeholder_text_active: - self.entry.config(fg=CTkThemeManager.single_color(self.placeholder_text_color, self.appearance_mode)) + if self.placeholder_text_active: + self.entry.config(fg=CTkThemeManager.single_color(self.placeholder_text_color, self.appearance_mode)) def bind(self, *args, **kwargs): self.entry.bind(*args, **kwargs) diff --git a/customtkinter/widgets/widget_base_class.py b/customtkinter/widgets/widget_base_class.py index 49baa72..a487f41 100644 --- a/customtkinter/widgets/widget_base_class.py +++ b/customtkinter/widgets/widget_base_class.py @@ -2,7 +2,6 @@ import tkinter import tkinter.ttk as ttk import copy import re -import math from typing import Callable, Union, TypedDict from ..windows.ctk_tk import CTk diff --git a/examples/simple_example.py b/examples/simple_example.py index a45e593..d312dd1 100644 --- a/examples/simple_example.py +++ b/examples/simple_example.py @@ -34,7 +34,6 @@ 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) -# button_1.configure(state="disabled") slider_1 = customtkinter.CTkSlider(master=frame_1, command=slider_function, from_=0, to=1) slider_1.pack(pady=y_padding, padx=10)