1
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2026-04-29 11:32:29 +02:00

fix: remove eagerly import of safeproperty, safeslot and BECWidget from root

This commit is contained in:
2026-04-16 19:49:14 +02:00
parent 12801a1bc9
commit 001f0aedcd
+15 -4
View File
@@ -2,8 +2,21 @@ import os
import sys
import bec_widgets.widgets.containers.qt_ads as QtAds
from bec_widgets.utils.bec_widget import BECWidget
from bec_widgets.utils.error_popups import SafeProperty, SafeSlot
__all__ = ["BECWidget", "SafeSlot", "SafeProperty"]
def __getattr__(name):
if name == "BECWidget":
from bec_widgets.utils.bec_widget import BECWidget
return BECWidget
if name in {"SafeSlot", "SafeProperty"}:
from bec_widgets.utils.error_popups import SafeProperty, SafeSlot
return {"SafeSlot": SafeSlot, "SafeProperty": SafeProperty}[name]
raise AttributeError(f"module {__name__!r} has no attribute {name!r}")
if sys.platform.startswith("linux"):
qt_platform = os.environ.get("QT_QPA_PLATFORM", "")
@@ -15,5 +28,3 @@ QtAds.CDockManager.setConfigFlag(QtAds.CDockManager.eConfigFlag.FocusHighlightin
QtAds.CDockManager.setConfigFlag(
QtAds.CDockManager.eConfigFlag.RetainTabSizeWhenCloseButtonHidden, True
)
__all__ = ["BECWidget", "SafeSlot", "SafeProperty"]