Source code for magicclass.widgets.utils
from __future__ import annotations
from qtpy.QtWidgets import QWidget
from magicgui.widgets import Container
[docs]class FrozenContainer(Container):
"""
Non-editable container.
This class is useful to add QWidget into Container. If a QWidget is added via
Container.layout(), it will be invisible from Container. We can solve this
problem by "wrapping" a QWidget with a Container.
"""
[docs] def insert(self, key, value):
raise AttributeError(f"Cannot insert widget to {self.__class__.__name__}")
[docs] def set_widget(self, widget: QWidget):
self.native.layout().addWidget(widget)
self.margins = (0, 0, 0, 0)
widget.setParent(self.native)