diff --git a/src/pygubu/plugins/customtkinter/designer/designerplugin.py b/src/pygubu/plugins/customtkinter/designer/designerplugin.py index aaaeafd3..e2413227 100644 --- a/src/pygubu/plugins/customtkinter/designer/designerplugin.py +++ b/src/pygubu/plugins/customtkinter/designer/designerplugin.py @@ -1,5 +1,6 @@ from pygubu.api.v1 import IPluginBase, IDesignerPlugin from pygubu.utils.widget import crop_widget +from pygubu.stockimage import StockRegistry, StockImageCache, StockImage from .preview import ( CTkToplevelPreviewBO, CTkPreviewBO, @@ -30,6 +31,12 @@ def get_toplevel_preview_for( top = None toplevel_uids = ("customtkinter.CTkToplevel", "customtkinter.CTk") if builder_uid in toplevel_uids: + # for a new tk root, create a diferent image cache: + def on_root_created(root): + image_cache = StockImageCache(root, StockImage.registry) + builder.image_cache = image_cache + + builder.on_first_object = on_root_created top = builder.get_object(widget_id) return top diff --git a/src/pygubu/plugins/pygubu/designer/designerplugin.py b/src/pygubu/plugins/pygubu/designer/designerplugin.py index 51786c3d..2f04fd28 100644 --- a/src/pygubu/plugins/pygubu/designer/designerplugin.py +++ b/src/pygubu/plugins/pygubu/designer/designerplugin.py @@ -1,5 +1,6 @@ from pygubu.api.v1 import IDesignerPlugin from pygubu.utils.widget import crop_widget +from pygubu.stockimage import StockRegistry, StockImageCache, StockImage from .toplevelframe import ToplevelFramePreviewBO @@ -20,6 +21,12 @@ def get_toplevel_preview_for( if builder_uid == "tk.Toplevel": top = builder.get_object(widget_id, top_master) elif builder_uid == "tk.Tk": + # for a new tk root, create a diferent image cache: + def on_root_created(root): + image_cache = StockImageCache(root, StockImage.registry) + builder.image_cache = image_cache + + builder.on_first_object = on_root_created top = builder.get_object(widget_id) elif builder_uid == "pygubu.builder.widgets.dialog": dialog = builder.get_object(widget_id, top_master)