refined CTkRadioButton and complex_example.py, version 3.3

This commit is contained in:
Tom Schimansky
2022-03-05 13:05:39 +01:00
parent 6c976245aa
commit 0d32213325
10 changed files with 74 additions and 74 deletions

View File

@@ -1,4 +1,4 @@
__version__ = "3.0"
__version__ = "3.3"
from .customtkinter_dialog import CTkDialog
from .customtkinter_button import CTkButton

View File

@@ -94,11 +94,16 @@ class CTkCheckBox(tkinter.Frame):
self.textvariable = textvariable
self.variable_callback_name = None
# configure grid system
self.grid_columnconfigure(0, weight=0)
self.grid_columnconfigure(1, weight=0, minsize=6)
self.grid_columnconfigure(2, weight=1)
self.canvas = CTkCanvas(master=self,
highlightthickness=0,
width=self.width,
height=self.height)
self.canvas.pack(side='left')
self.canvas.grid(row=0, column=0, padx=0, pady=0, columnspan=1)
self.draw_engine = CTkDrawEngine(self.canvas, CTkSettings.preferred_drawing_method)
@@ -160,11 +165,11 @@ class CTkCheckBox(tkinter.Frame):
if self.text_label is None:
self.text_label = tkinter.Label(master=self,
bd=0,
text=self.text,
justify=tkinter.LEFT,
width=len(self.text_color),
font=self.text_font)
self.text_label.pack(side='right', padx=6)
self.text_label.grid(row=0, column=2, padx=0, pady=0, sticky="w")
self.text_label["anchor"] = "w"
self.text_label.configure(fg=CTkThemeManager.single_color(self.text_color, self.appearance_mode))
@@ -262,9 +267,9 @@ class CTkCheckBox(tkinter.Frame):
def set_text(self, text):
self.text = text
if self.text_label is not None:
self.text_label.configure(text=self.text, width=len(self.text))
self.text_label.configure(text=self.text)
else:
sys.stderr.write("ERROR (CTkButton): Cant change text because button has no text.")
sys.stderr.write("ERROR (CTkButton): Cant change text because checkbox has no text.")
def on_enter(self, event=0):
if self.hover is True:

View File

@@ -41,17 +41,17 @@ class CTkDialog:
self.top.grab_set()
self.label_frame = CTkFrame(master=self.top,
corner_radius=0,
fg_color=CTkThemeManager.single_color(self.window_bg_color, self.appearance_mode),
width=300,
height=self.height-100)
corner_radius=0,
fg_color=self.window_bg_color,
width=300,
height=self.height-100)
self.label_frame.place(relx=0.5, rely=0, anchor=tkinter.N)
self.button_and_entry_frame = CTkFrame(master=self.top,
corner_radius=0,
fg_color=CTkThemeManager.single_color(self.window_bg_color, self.appearance_mode),
width=300,
height=100)
corner_radius=0,
fg_color=self.window_bg_color,
width=300,
height=100)
self.button_and_entry_frame.place(relx=0.5, rely=1, anchor=tkinter.S)
self.myLabel = CTkLabel(master=self.label_frame,

View File

@@ -93,11 +93,16 @@ class CTkRadioButton(tkinter.Frame):
self.textvariable = textvariable
self.variable_callback_name = None
# configure grid system
self.grid_columnconfigure(0, weight=0)
self.grid_columnconfigure(1, weight=0, minsize=6)
self.grid_columnconfigure(2, weight=1)
self.canvas = CTkCanvas(master=self,
highlightthickness=0,
width=self.width,
height=self.height)
self.canvas.pack(side='left')
self.canvas.grid(row=0, column=0, padx=0, pady=0, columnspan=1)
self.draw_engine = CTkDrawEngine(self.canvas, CTkSettings.preferred_drawing_method)
@@ -159,11 +164,11 @@ class CTkRadioButton(tkinter.Frame):
if self.text_label is None:
self.text_label = tkinter.Label(master=self,
bd=0,
text=self.text,
justify=tkinter.LEFT,
width=len(self.text_color),
font=self.text_font)
self.text_label.pack(side='right', padx=6)
self.text_label.grid(row=0, column=2, padx=0, pady=0, sticky="w")
self.text_label["anchor"] = "w"
self.text_label.configure(fg=CTkThemeManager.single_color(self.text_color, self.appearance_mode))
@@ -266,9 +271,9 @@ class CTkRadioButton(tkinter.Frame):
def set_text(self, text):
self.text = text
if self.text_label is not None:
self.text_label.configure(text=self.text, width=len(self.text))
self.text_label.configure(text=self.text)
else:
sys.stderr.write("ERROR (CTkButton): Cant change text because button has no text.")
sys.stderr.write("ERROR (CTkButton): Cant change text because radiobutton has no text.")
def on_enter(self, event=0):
if self.hover is True: