mirror of
https://github.com/TomSchimansky/CustomTkinter.git
synced 2023-08-10 21:13:13 +03:00
readme update for CTk class and bug fix for .destroy() for all widgets
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
__version__ = "1.5"
|
||||
__version__ = "1.6"
|
||||
|
||||
from .customtkinter_button import CTkButton
|
||||
from .customtkinter_slider import CTkSlider
|
||||
|
||||
@@ -119,6 +119,10 @@ class AppearanceModeTracker():
|
||||
def add(cls, callback):
|
||||
cls.callback_list.append(callback)
|
||||
|
||||
@classmethod
|
||||
def remove(cls, callback):
|
||||
cls.callback_list.remove(callback)
|
||||
|
||||
@classmethod
|
||||
def get_mode(cls):
|
||||
return cls.appearance_mode
|
||||
@@ -141,10 +145,19 @@ class AppearanceModeTracker():
|
||||
|
||||
if cls.appearance_mode == 0:
|
||||
for callback in cls.callback_list:
|
||||
callback("Light")
|
||||
try:
|
||||
callback("Light")
|
||||
except Exception:
|
||||
print("error callback")
|
||||
continue
|
||||
|
||||
elif cls.appearance_mode == 1:
|
||||
for callback in cls.callback_list:
|
||||
callback("Dark")
|
||||
try:
|
||||
callback("Dark")
|
||||
except Exception:
|
||||
print("error callback")
|
||||
continue
|
||||
|
||||
|
||||
AppearanceModeTracker.init_listener_function()
|
||||
|
||||
@@ -101,6 +101,10 @@ class CTkButton(tkinter.Frame):
|
||||
self.bind('<Configure>', self.update_dimensions)
|
||||
self.draw()
|
||||
|
||||
def destroy(self):
|
||||
AppearanceModeTracker.remove(self.set_appearance_mode)
|
||||
super().destroy()
|
||||
|
||||
def configure_basic_grid(self):
|
||||
# Configuration of a basic grid (2x2) in which all elements of CTkButtons are centered on one row and one column
|
||||
self.grid_rowconfigure(0, weight=1)
|
||||
|
||||
@@ -91,6 +91,10 @@ class CTkCheckBox(tkinter.Frame):
|
||||
|
||||
self.draw()
|
||||
|
||||
def destroy(self):
|
||||
AppearanceModeTracker.remove(self.set_appearance_mode)
|
||||
super().destroy()
|
||||
|
||||
def detect_color_of_master(self):
|
||||
if isinstance(self.master, CTkFrame):
|
||||
return self.master.fg_color
|
||||
|
||||
@@ -54,6 +54,10 @@ class CTkEntry(tkinter.Frame):
|
||||
|
||||
self.draw()
|
||||
|
||||
def destroy(self):
|
||||
AppearanceModeTracker.remove(self.change_appearance_mode)
|
||||
super().destroy()
|
||||
|
||||
def detect_color_of_master(self):
|
||||
if isinstance(self.master, CTkFrame):
|
||||
return self.master.fg_color
|
||||
|
||||
@@ -58,6 +58,10 @@ class CTkFrame(tkinter.Frame):
|
||||
|
||||
self.draw()
|
||||
|
||||
def destroy(self):
|
||||
AppearanceModeTracker.remove(self.change_appearance_mode)
|
||||
super().destroy()
|
||||
|
||||
def detect_color_of_master(self):
|
||||
if isinstance(self.master, CTkFrame):
|
||||
return self.master.fg_color
|
||||
|
||||
@@ -69,6 +69,10 @@ class CTkLabel(tkinter.Frame):
|
||||
|
||||
self.draw()
|
||||
|
||||
def destroy(self):
|
||||
AppearanceModeTracker.remove(self.change_appearance_mode)
|
||||
super().destroy()
|
||||
|
||||
def detect_color_of_master(self):
|
||||
if isinstance(self.master, CTkFrame):
|
||||
return self.master.fg_color
|
||||
|
||||
@@ -46,6 +46,10 @@ class CTkProgressBar(tkinter.Frame):
|
||||
# set progress
|
||||
self.set(self.value)
|
||||
|
||||
def destroy(self):
|
||||
AppearanceModeTracker.remove(self.change_appearance_mode)
|
||||
super().destroy()
|
||||
|
||||
def detect_color_of_master(self):
|
||||
if isinstance(self.master, CTkFrame):
|
||||
return self.master.fg_color
|
||||
|
||||
@@ -64,6 +64,10 @@ class CTkSlider(tkinter.Frame):
|
||||
|
||||
self.draw()
|
||||
|
||||
def destroy(self):
|
||||
AppearanceModeTracker.remove(self.change_appearance_mode)
|
||||
super().destroy()
|
||||
|
||||
def detect_color_of_master(self):
|
||||
if isinstance(self.master, CTkFrame):
|
||||
return self.master.fg_color
|
||||
|
||||
@@ -30,6 +30,7 @@ class CTk(tkinter.Tk):
|
||||
super().configure(bg=CTkColorManager.single_color(self.bg_color, self.appearance_mode))
|
||||
|
||||
def destroy(self):
|
||||
AppearanceModeTracker.remove(self.set_appearance_mode)
|
||||
self.disable_macos_dark_title_bar()
|
||||
super().destroy()
|
||||
|
||||
@@ -65,6 +66,4 @@ class CTk(tkinter.Tk):
|
||||
elif mode_string.lower() == "light":
|
||||
self.appearance_mode = 0
|
||||
|
||||
print("set",self.bg_color)
|
||||
|
||||
super().configure(bg=CTkColorManager.single_color(self.bg_color, self.appearance_mode))
|
||||
|
||||
Reference in New Issue
Block a user