magicclass.gui package

Submodules

magicclass.gui.class_gui module

class magicclass.gui.class_gui.ClassGuiBase(close_on_run, popup_mode, error_mode)[source]

Bases: magicclass.gui._base.BaseGui

native: QWidget
magicclass.gui.class_gui.make_gui(container: type[_C], no_margin: bool = True) type[_C | ClassGuiBase][source]

Make a ClassGui class from a Container widget. Because GUI class inherits Container here, functions that need overriden must be defined here, not in ClassGuiBase.

magicclass.gui.keybinding module

class magicclass.gui.keybinding.Key(value)[source]

Bases: enum.Enum

An enumeration.

A = 'a'
Alt = 'alt'
Ampersand = '&'
Apostrophe = "'"
Asterisk = '*'
At = '@'
B = 'b'
Backspace = 'backspace'
C = 'c'
Colon = ':'
Comma = ','
Ctrl = 'ctrl'
D = 'd'
Delete = 'delete'
Dollar = '$'
Down = 'down'
E = 'e'
Equal = '='
Exclam = '!'
F = 'f'
F1 = 'f1'
F10 = 'f10'
F11 = 'f11'
F12 = 'f12'
F2 = 'f2'
F3 = 'f3'
F4 = 'f4'
F5 = 'f5'
F6 = 'f6'
F7 = 'f7'
F8 = 'f8'
F9 = 'f9'
G = 'g'
Greater = '>'
H = 'h'
I = 'i'
J = 'j'
K = 'k'
L = 'l'
Left = 'left'
Less = '<'
M = 'm'
Meta = 'meta'
Minus = '-'
N = 'n'
O = 'o'
P = 'p'
PageDown = 'pagedown'
PageUp = 'pageup'
ParenLeft = '('
ParenRight = ')'
Percent = '%'
Period = '.'
Plus = '+'
Q = 'q'
Question = '?'
R = 'r'
Right = 'right'
S = 's'
Semicolon = ';'
Shift = 'shift'
Slash = '/'
T = 't'
Tab = 'tab'
U = 'u'
Up = 'up'
V = 'v'
W = 'w'
X = 'x'
Y = 'y'
Z = 'z'
classmethod to_qtkey(key: str | int | Key) QtKey[source]
classmethod to_qtmodifier(key: str | Key) QtModifier[source]
magicclass.gui.keybinding.as_shortcut(key_combo: tuple) PyQt5.QtGui.QKeySequence[source]
magicclass.gui.keybinding.ismodifier(s: str) bool[source]
magicclass.gui.keybinding.parse_key_combo(key_combo: str) QtKey[source]
magicclass.gui.keybinding.strs2keycombo(*args: tuple[str | Key, ...]) KeyCombo[source]

magicclass.gui.menu_gui module

class magicclass.gui.menu_gui.ContextMenuGui(parent=None, name: str = None, close_on_run: bool = None, popup_mode: str | PopUpMode = None, error_mode: str | ErrorMode = None, labels: bool = True)[source]

Bases: magicclass.gui._base.BaseGui, magicclass.gui.mgui_ext.mguiLike, MutableSequence

Magic class that will be converted into a context menu.

class magicclass.gui.menu_gui.MenuGui(parent=None, name: str = None, close_on_run: bool = None, popup_mode: str | PopUpMode = None, error_mode: str | ErrorMode = None, labels: bool = True)[source]

Bases: magicclass.gui._base.BaseGui, magicclass.gui.mgui_ext.mguiLike, MutableSequence

Magic class that will be converted into a menu bar.

class magicclass.gui.menu_gui.MenuGuiBase(parent=None, name: str = None, close_on_run: bool = None, popup_mode: str | PopUpMode = None, error_mode: str | ErrorMode = None, labels: bool = True)[source]

Bases: magicclass.gui._base.BaseGui, magicclass.gui.mgui_ext.mguiLike, MutableSequence

insert(key: int, obj: Callable | MenuGuiBase | AbstractAction) None[source]

Insert object into the menu. Could be widget or callable.

Parameters
magicclass.gui.menu_gui.insert_action_like(qmenu: PyQt5.QtWidgets.QMenu, key: int, obj)[source]

Insert a QObject into a QMenu in a Pythonic way, like qmenu.insert(key, obj).

Parameters
  • qmenu (QMenu) -- QMenu object to which object will be inserted.

  • key (int) -- Position to insert.

  • obj (QMenu or QAction or "sep") -- Object to be inserted.

magicclass.gui.mgui_ext module

class magicclass.gui.mgui_ext.AbstractAction[source]

Bases: magicclass.gui.mgui_ext.mguiLike

QAction encapsulated class with a similar API as magicgui Widget. This class makes it easier to combine QMenu to magicgui.

changed
from_options(options)[source]
native: QAction | QWidgetAction
support_value: bool
property value
class magicclass.gui.mgui_ext.Action(*args, name: Optional[str] = None, text: Optional[str] = None, gui_only: bool = True, **kwargs)[source]

Bases: magicclass.gui.mgui_ext.AbstractAction

from_options(options: dict[str] | Callable)[source]
property icon_path
native: QAction | QWidgetAction
reset_choices(*_: Any)[source]

Reset child Categorical widgets.

property running: bool
set_shortcut(key)[source]
support_value: bool = True
property text: str
property value
class magicclass.gui.mgui_ext.PushButtonPlus(text: str | None = None, **kwargs)[source]

Bases: magicgui.widgets.PushButton

A Qt specific PushButton widget with a magicgui bound.

property background_color
property font_color
property font_family
property font_size
from_options(options: dict[str] | Callable)[source]
property icon_path
property icon_size
reset_choices(*_: Any)[source]

Reset child Categorical widgets.

property running: bool
set_shortcut(key)[source]
class magicclass.gui.mgui_ext.ToolButtonPlus(text: str | None = None, **kwargs)[source]

Bases: magicclass.gui.mgui_ext.PushButtonPlus

reset_choices(*_: Any)[source]

Reset child Categorical widgets.

set_menu(qmenu: PyQt5.QtWidgets.QMenu)[source]
set_shortcut(key)[source]
class magicclass.gui.mgui_ext.WidgetAction(widget: magicclass.gui.mgui_ext._W, label: Optional[str] = None, parent=None)[source]

Bases: magicclass.gui.mgui_ext.AbstractAction, Generic[magicclass.gui.mgui_ext._W]

native: QAction | QWidgetAction
render()[source]
support_value: bool
property text: str
property value
property widget_type
class magicclass.gui.mgui_ext.mguiLike[source]

Bases: object

Abstract class that provide magicgui.widgets like properties.

property enabled: bool
property name: str
native: QWidget | QAction
property parent
property tooltip: str
property visible: bool
property widget_type

magicclass.gui.toolbar module

class magicclass.gui.toolbar.QtTabToolBar(title: str, parent=None)[source]

Bases: PyQt5.QtWidgets.QToolBar

ToolBar widget with tabs.

addToolBar(toolbar: PyQt5.QtWidgets.QToolBar, name: str) None[source]

Add a toolbar as a tab.

class magicclass.gui.toolbar.ToolBarGui(parent=None, name: str = None, close_on_run: bool = None, popup_mode: str | PopUpMode = None, error_mode: str | ErrorMode = None, labels: bool = True)[source]

Bases: magicclass.gui._base.BaseGui, magicclass.gui.mgui_ext.mguiLike, MutableSequence

Magic class that will be converted into a toolbar

insert(key: int, obj: magicclass.gui.mgui_ext.AbstractAction) None[source]

S.insert(index, value) -- insert value before index

reset_choices(*_: Any)[source]

Reset child Categorical widgets

magicclass.gui.utils module

exception magicclass.gui.utils.MagicClassConstructionError[source]

Bases: Exception

This exception will be raised when class definition is not a valid magic-class.

magicclass.gui.utils.define_callback(self: BaseGui, callback: Callable)[source]

Define a callback function from a method.

magicclass.gui.utils.define_context_menu(contextmenu: ContextMenuGui, parent)[source]
magicclass.gui.utils.get_parameters(fgui: magicgui.widgets._function_gui.FunctionGui)[source]

Module contents