diff --git a/customtkinter/windows/widgets/ctk_segmented_button.py b/customtkinter/windows/widgets/ctk_segmented_button.py index fedbeed..f1ef0da 100644 --- a/customtkinter/windows/widgets/ctk_segmented_button.py +++ b/customtkinter/windows/widgets/ctk_segmented_button.py @@ -186,7 +186,7 @@ class CTkSegmentedButton(CTkFrame): for index, value in enumerate(self._value_list): self.grid_columnconfigure(index, weight=1, minsize=self._current_height) - self._buttons_dict[value].grid(row=0, column=index, sticky="ew") + self._buttons_dict[value].grid(row=0, column=index, sticky="nsew") def _create_buttons_from_values(self): assert len(self._buttons_dict) == 0 diff --git a/customtkinter/windows/widgets/ctk_tabview.py b/customtkinter/windows/widgets/ctk_tabview.py index 376e738..599f59c 100644 --- a/customtkinter/windows/widgets/ctk_tabview.py +++ b/customtkinter/windows/widgets/ctk_tabview.py @@ -171,9 +171,10 @@ class CTkTabview(CTkBaseClass): padx=self._apply_widget_scaling(max(self._corner_radius, self._border_width)), pady=self._apply_widget_scaling(max(self._corner_radius, self._border_width))) - def _grid_forget_all_tabs(self): - for frame in self._tab_dict.values(): - frame.grid_forget() + def _grid_forget_all_tabs(self, exclude_name=None): + for name, frame in self._tab_dict.items(): + if name != exclude_name: + frame.grid_forget() def _create_tab(self) -> CTkFrame: new_tab = CTkFrame(self, @@ -360,8 +361,8 @@ class CTkTabview(CTkBaseClass): if name in self._tab_dict: self._current_name = name self._segmented_button.set(name) - self._grid_forget_all_tabs() self._set_grid_tab_by_name(name) + self.after(100, lambda: self._grid_forget_all_tabs(exclude_name=name)) else: raise ValueError(f"CTkTabview has no tab named '{name}'") diff --git a/customtkinter/windows/widgets/font/ctk_font.py b/customtkinter/windows/widgets/font/ctk_font.py index 551b3a6..e0eca0d 100644 --- a/customtkinter/windows/widgets/font/ctk_font.py +++ b/customtkinter/windows/widgets/font/ctk_font.py @@ -52,7 +52,10 @@ class CTkFont(Font): def remove_size_configure_callback(self, callback: Callable): """ remove function, that gets called when font got configured """ - self._size_configure_callback_list.remove(callback) + try: + self._size_configure_callback_list.remove(callback) + except ValueError: + pass def create_scaled_tuple(self, font_scaling: float) -> Tuple[str, int, str]: """ return scaled tuple representation of font in the form (family: str, size: int, style: str)"""