From bf9a8d3913788f95f25e1f542e952165a51dc12a Mon Sep 17 00:00:00 2001 From: lix Date: Wed, 6 Nov 2024 11:01:43 +0800 Subject: [PATCH 1/2] customized style also need wrap --- sdk/python/packages/flet/src/flet/core/segmented_button.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/sdk/python/packages/flet/src/flet/core/segmented_button.py b/sdk/python/packages/flet/src/flet/core/segmented_button.py index 01f303af6..7b7d7bc6d 100644 --- a/sdk/python/packages/flet/src/flet/core/segmented_button.py +++ b/sdk/python/packages/flet/src/flet/core/segmented_button.py @@ -205,9 +205,10 @@ def before_update(self): ), "allow_multiple_selection must be True for selected to have more than one item" if self.__style is None: self.__style = ButtonStyle() - self.__style.side = self._wrap_attr_dict(self.__style.side) - self.__style.shape = self._wrap_attr_dict(self.__style.shape) - self.__style.padding = self._wrap_attr_dict(self.__style.padding) + + self.__style.side = self._wrap_attr_dict(self.__style.side) + self.__style.shape = self._wrap_attr_dict(self.__style.shape) + self.__style.padding = self._wrap_attr_dict(self.__style.padding) self._set_attr_json("style", self.__style) def _get_children(self): From 3e87d0dcfa6e8c28c848ff351b5cf6f7ad4ab003 Mon Sep 17 00:00:00 2001 From: lix Date: Thu, 7 Nov 2024 11:03:47 +0800 Subject: [PATCH 2/2] use local style instead of self.__style --- .../packages/flet/src/flet/core/segmented_button.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/sdk/python/packages/flet/src/flet/core/segmented_button.py b/sdk/python/packages/flet/src/flet/core/segmented_button.py index 7b7d7bc6d..7c1934834 100644 --- a/sdk/python/packages/flet/src/flet/core/segmented_button.py +++ b/sdk/python/packages/flet/src/flet/core/segmented_button.py @@ -203,13 +203,11 @@ def before_update(self): assert ( len(self.selected) < 2 or self.allow_multiple_selection ), "allow_multiple_selection must be True for selected to have more than one item" - if self.__style is None: - self.__style = ButtonStyle() - - self.__style.side = self._wrap_attr_dict(self.__style.side) - self.__style.shape = self._wrap_attr_dict(self.__style.shape) - self.__style.padding = self._wrap_attr_dict(self.__style.padding) - self._set_attr_json("style", self.__style) + style = self.__style or ButtonStyle() + style.side = self._wrap_attr_dict(style.side) + style.shape = self._wrap_attr_dict(style.shape) + style.padding = self._wrap_attr_dict(style.padding) + self._set_attr_json("style", style) def _get_children(self): for segment in self.segments: