8.5.8.3. pymodaq_gui.utils.custom_app module
- class pymodaq_gui.utils.custom_app.CustomApp(parent=None, tree=None, title=None, toolbar=None, create_app_toolbar=True, add_toolbar_break=True, create_app_menu=False)[source]
Bases:
QObject,ActionManager,ParameterManagerBase Class to ease the implementation of User Interfaces
Inherits the MixIns ActionManager and ParameterManager classes. You have to subclass some methods and make concrete implementation of a given number of methods:
setup_docks_and_widgets: to code the widget layout of your Application using Docks (and the DockArea) or other widgets
setup_menus_and_toolbars: to create the menus and the toolbar associated with actions (see setup_actions)
setup_actions: add actions (see
pymodaq_gui.managers.action_manager.ActionManager) or widgets and optionally add them to toolbar and menuconnect_things: to connect signals and slots. Either from actions (
pymodaq_gui.managers.action_manager.ActionManager.connect_action()) or direct signal connection
Other methods to reimplement, related to Parameter management
value_changed: non mandatory, see
pymodaq.utils.managers.parameter_manager.ParameterManagerchild_added: non mandatory, see
pymodaq.utils.managers.parameter_manager.ParameterManagerparam_deleted: non mandatory, see
pymodaq.utils.managers.parameter_manager.ParameterManager
Depending on the object type, the mainwindow and dockarea attributes may be None
if parent is:
- None or QWidget, the attributes will be
parent = QWidget
maindow = None
dockarea = None
- DockArea, the attributes will be
parent = DockArea
maindow = QMainWindow
dockarea = DockArea
- QMainWindow, the attributes will be
parent = QMainWindow
maindow = QMainWindow
dockarea = None
- parent
- Type:
QWidget,QMainWindoworDockArea
- mainwindow
the parent QMainWindow
- Type:
- dockarea
The underlying DockArea (as central widget of the QMainWindow)
- Type:
DockArea
The QMainWindow menubar
- Type:
- statusbar
The QMainWindow statusbar
- Type:
- splash_sc
A splash screen to be used to display information
- Type:
- Parameters:
parent (
Union[DockArea,QMainWindow,QWidget])
- tree: ParameterTree
an optional Custom ParameterTree
- title: str
The title of the Application instance
- toolbar: QTtWidgets.QToolbar
a toolbar from another parent application
- create_app_toolbar: bool
If True (default) will create a default toolbar with the name of the application as reference and title
- add_toolbar_break: bool
If True, will add a break in the QToolbarArea before adding the toolbar
- create_app_menu: bool
If True (default is False) will create a default menu in the menubar with the name of the application as reference and title
See also
pymodaq.utils.managers.action_manager.ActionManager,pymodaq.utils.managers.parameter_manager.ParameterManager- Attributes:
- menubar
- splash_sc
- statusbar
- title
Methods
Connect actions and/or other widgets signal to methods
Method to be reimplemented in order to do things after the UI setup
get_local_folder([user])Create a local User or system wide folder to store things about this extension
quit_fun()Method to be reimplemented in order to define a custom quit function
Method where to create actions.
deprecated, see setup_docks_and_widgets
Method to be reimplemented to set up the docks layout and/or widgets
setup_menu([menubar])Deprecated, use setup_menus_and_toolbars
setup_menus_and_toolbars([menubar])Non-mandatory method to be subclassed in order to create menus and toolbars
update_status(message[, wait_time])Show the message in the status bar with a delay of wait_time ms.
get_theme
log_signal
setup_ui
- classmethod get_local_folder(user=False)[source]
Create a local User or system wide folder to store things about this extension
- Return type:
- connect_things()[source]
Connect actions and/or other widgets signal to methods
To be reimplemented
- do_things_after_ui_setup()[source]
Method to be reimplemented in order to do things after the UI setup
- setup_actions()[source]
Method where to create actions.
To be reimplemented
Examples
>>> self.add_action('grab', 'Grab', 'camera', "Grab from camera", checkable=True, menu='file_menu') >>> self.add_action('load', 'Load', 'Open', "Load target file (.h5, .png, .jpg) or data from camera", checkable=False) >>> self.add_action('save', 'Save' 'SaveAs', "Save current data", checkable=False)
>>>self.affect_to(‘load’, ‘file_menu’) >>>self.affect_to(‘save’, ‘file_menu’)
- setup_docks_and_widgets()[source]
Method to be reimplemented to set up the docks layout and/or widgets
Examples
>>>self.docks[‘ADock’] = gutils.Dock(‘ADock name’) >>>self.dockarea.addDock(self.docks[‘ADock’]) >>>self.docks[‘AnotherDock’] = gutils.Dock(‘AnotherDock name’) >>>self.dockarea.addDock(self.docks[‘AnotherDock’’’], ‘bottom’, self.docks[‘ADock’])
Deprecated, use setup_menus_and_toolbars
Non-mandatory method to be subclassed in order to create menus and toolbars
create menu and toolbar for actions defined in setup_actions, for instance:
Examples
>>>file_menu = self.add_menu(‘file_menu’, ‘File’, self.menubar) >>>submenu = self.add_menu(‘submenu’, ‘ASubMenu’, ‘file_menu’) >>>file_toolbar = self.add_toolbar(‘file_toolbar’, ‘File’, self.mainwindow)
See also
pymodaq.utils.managers.action_manager.ActionManager
- update_status(message, wait_time=None)[source]
Show the message in the status bar with a delay of wait_time ms.
- mainwindow: QMainWindow
- property menubar
- params = []
- property splash_sc: QSplashScreen
- property statusbar: QStatusBar | None