magicclass.widgets package¶
Subpackages¶
Submodules¶
magicclass.widgets.console module¶
Jupyter QtConsole widget with callback signals.
You can embed a console widget in a magic class.
from magicclass import magicclass
from magicclass.widgets import QtConsole
class Main:
console = QtConsole()
ui = Main()
ui.show()
There are some additional methods that would be very useful for developing a Python script executable GUI.
# programmatically add code to console.
ui.console.value = "a = 1"
# callback when code is executed.
@console.executed.connect
def _():
print("executed!")
# programmatically execute code.
ui.console.execute()
magicclass.widgets.misc module¶
- class magicclass.widgets.misc.CheckButton(text: str | None = None, **kwargs)[source]¶
Bases:
magicgui.widgets.PushButton
A checkable button.
- class magicclass.widgets.misc.ConsoleTextEdit(*args, **kwargs)[source]¶
Bases:
magicgui.widgets.TextEdit
A text edit with console-like setting.
- class magicclass.widgets.misc.Figure(nrows: int = 1, ncols: int = 1, figsize: tuple[int, int] = (4, 3), style=None, **kwargs)[source]¶
Bases:
magicclass.widgets.utils.FreeWidget
A matplotlib figure canvas.
- property ax¶
- property axes¶
- class magicclass.widgets.misc.MacroEdit(*args, **kwargs)[source]¶
Bases:
magicclass.widgets.utils.FreeWidget
A text edit embeded with a custom menu bar.
- property value¶
- class magicclass.widgets.misc.MessageBoxMode(value)[source]¶
Bases:
enum.Enum
An enumeration.
- ABOUT = 'about'¶
- ERROR = 'error'¶
- INFO = 'info'¶
- QUESTION = 'question'¶
- WARNING = 'warn'¶
- magicclass.widgets.misc.show_messagebox(mode: str | MessageBoxMode = MessageBoxMode.INFO, title: str = None, text: str = None, parent=None) bool [source]¶
magicclass.widgets.separator module¶
- class magicclass.widgets.separator.Separator(orientation: str = 'horizontal', text: str = '', name: str = '', button: bool = False)[source]¶
Bases:
magicclass.widgets.utils.FreeWidget
A Separator widget that can be used in both widgets and menus.
- btn_clicked¶
- property btn_text¶
magicclass.widgets.sequence module¶
- class magicclass.widgets.sequence.ListDataView(widget: magicclass.widgets.sequence.ListEdit)[source]¶
Bases:
object
- class magicclass.widgets.sequence.ListEdit(value: Iterable[magicclass.widgets.sequence._V] = UNSET, annotation: Optional[type] = None, layout: str = 'horizontal', options: Optional[dict] = None, **kwargs)[source]¶
Bases:
magicgui.widgets._bases.widget.Widget
,magicgui.widgets._bases.mixins._OrientationMixin
,MutableSequence
[magicgui.widgets._bases.widget.Widget
]- property value¶
- class magicclass.widgets.sequence.TupleEdit(value: Iterable[magicclass.widgets.sequence._V] = UNSET, annotation: Optional[type] = None, layout: str = 'horizontal', options: Optional[dict] = None, **kwargs)[source]¶
Bases:
magicgui.widgets._bases.widget.Widget
,magicgui.widgets._bases.mixins._OrientationMixin
,MutableSequence
[magicgui.widgets._bases.widget.Widget
]- property value¶
magicclass.widgets.threading module¶
- class magicclass.widgets.threading.ProgressWidget(text: Optional[str] = None, visible: bool = False)[source]¶
Bases:
magicclass.widgets.utils.FreeWidget
- run() magicclass.widgets.threading.progress [source]¶
Build a context that progress bar will be displayed.
- Returns
Context manager for progress bar.
- Return type
- property text: str¶
- property value: int¶
- class magicclass.widgets.threading.progress(obj: Optional[Callable] = None, *, progress: Optional[magicclass.widgets.threading.ProgressWidget] = None)[source]¶
Bases:
object
- property function¶
magicclass.widgets.utils module¶
Module contents¶
Advanced widgets for magic class GUI.
These widgets are all compatible with the append
method of Container widgets.
- class magicclass.widgets.CheckButton(text: str | None = None, **kwargs)[source]¶
Bases:
magicgui.widgets.PushButton
A checkable button.
- class magicclass.widgets.ConsoleTextEdit(*args, **kwargs)[source]¶
Bases:
magicgui.widgets.TextEdit
A text edit with console-like setting.
- class magicclass.widgets.DictWidget(value=None, **kwargs)[source]¶
Bases:
magicclass.widgets.pywidgets.object.BaseWidget
,collections.abc.MutableMapping
- pop(k[, d]) v, remove specified key and return the corresponding value. [source]¶
If key is not found, d is returned if given, otherwise KeyError is raised.
- update([E, ]**F) None. Update D from mapping/iterable E and F. [source]¶
If E present and has a .keys() method, does: for k in E: D[k] = E[k] If E present and lacks .keys() method, does: for (k, v) in E: D[k] = v In either case, this is followed by: for k, v in F.items(): D[k] = v
- property value: list[typing.Any]¶
- class magicclass.widgets.Figure(nrows: int = 1, ncols: int = 1, figsize: tuple[int, int] = (4, 3), style=None, **kwargs)[source]¶
Bases:
magicclass.widgets.utils.FreeWidget
A matplotlib figure canvas.
- property ax¶
- property axes¶
- class magicclass.widgets.FreeWidget(**kwargs)[source]¶
Bases:
magicgui.widgets._bases.widget.Widget
A Widget class with any QWidget as a child.
- class magicclass.widgets.ListEdit(value: Iterable[magicclass.widgets.sequence._V] = UNSET, annotation: Optional[type] = None, layout: str = 'horizontal', options: Optional[dict] = None, **kwargs)[source]¶
Bases:
magicgui.widgets._bases.widget.Widget
,magicgui.widgets._bases.mixins._OrientationMixin
,MutableSequence
[magicgui.widgets._bases.widget.Widget
]- property value¶
- class magicclass.widgets.ListWidget(value: Optional[Iterable[Any]] = None, dragdrop: bool = True, **kwargs)[source]¶
Bases:
magicclass.widgets.pywidgets.object.BaseWidget
,collections.abc.MutableSequence
- index(obj: Any, start: int = 0, stop: Optional[int] = None) int [source]¶
Find object or list widget item from the list widget.
- Parameters
obj (Any) -- Object to find. If a PyListWidgetItem is given, the index of the item (not the tagged object) is searched for.
start (int, optional) -- Starting index, by default 0
stop (int, optional) -- Index to stop searching.
- Returns
Index of object.
- Return type
int
- Raises
ValueError -- If object was not found.
- property value: list[typing.Any]¶
Get all the contents as a Python list.
- Returns
Contents of the list widget.
- Return type
list
- class magicclass.widgets.MacroEdit(*args, **kwargs)[source]¶
Bases:
magicclass.widgets.utils.FreeWidget
A text edit embeded with a custom menu bar.
- property value¶
- class magicclass.widgets.ProgressWidget(text: Optional[str] = None, visible: bool = False)[source]¶
Bases:
magicclass.widgets.utils.FreeWidget
- run() magicclass.widgets.threading.progress [source]¶
Build a context that progress bar will be displayed.
- Returns
Context manager for progress bar.
- Return type
- property text: str¶
- property value: int¶
- class magicclass.widgets.QtConsole(**kwargs)[source]¶
Bases:
magicclass.widgets.utils.FreeWidget
- executed¶
- name: str¶
- property value: str¶
Get current code block
- class magicclass.widgets.QtImageCanvas(image: Optional[numpy.ndarray] = None, cmap=None, contrast_limits: Optional[tuple[float, float]] = None, show_hist: bool = True, show_button: bool = True, **kwargs)[source]¶
Bases:
magicclass.widgets.utils.FreeWidget
,magicclass.widgets.qtgraph.qt_graph.HasPlotItem
- property cmap¶
Color map
- property contrast_limits: tuple[float, float]¶
Contrast limits of image
- property image: np.ndarray | None¶
Image data
- property interactive: bool¶
Mouse interactivity
- show_button(visible: bool = True)[source]¶
Set visibility of ROI/Norm buttons.
- Parameters
visible (bool) -- Visibility of ROI/Norm buttons
- show_hist(visible: bool = True)[source]¶
Set visibility of intensity histogram.
- Parameters
visible (bool) -- Visibility of histogram
- property text_overlay: magicclass.widgets.qtgraph.graph_items.TextOverlay¶
Text overlay on the image.
- property view_range: list[list[float, float]]¶
Range of image (edge coordinates of canvas)
- class magicclass.widgets.QtPlotCanvas(region_visible=False, **kwargs)[source]¶
Bases:
magicclass.widgets.utils.FreeWidget
,magicclass.widgets.qtgraph.qt_graph.HasPlotItem
A 1-D data viewer that have similar API as napari Viewer.
- property interactive: bool¶
Mouse interactivity
- property region: tuple[float, float]¶
Get the limits of linear region.
- region_changed¶
- property region_visible: bool¶
Linear region visibility.
- property xlabel¶
Label of X-axis.
- property xlim¶
Range limits of X-axis.
- property ylabel: str¶
Label of Y-axis.
- property ylim¶
Range limits of Y-axis.
- class magicclass.widgets.Separator(orientation: str = 'horizontal', text: str = '', name: str = '', button: bool = False)[source]¶
Bases:
magicclass.widgets.utils.FreeWidget
A Separator widget that can be used in both widgets and menus.
- btn_clicked¶
- property btn_text¶
- name: str¶
- class magicclass.widgets.TupleEdit(value: Iterable[magicclass.widgets.sequence._V] = UNSET, annotation: Optional[type] = None, layout: str = 'horizontal', options: Optional[dict] = None, **kwargs)[source]¶
Bases:
magicgui.widgets._bases.widget.Widget
,magicgui.widgets._bases.mixins._OrientationMixin
,MutableSequence
[magicgui.widgets._bases.widget.Widget
]- property value¶
- class magicclass.widgets.progress(obj: Optional[Callable] = None, *, progress: Optional[magicclass.widgets.threading.ProgressWidget] = None)[source]¶
Bases:
object
- property function¶