GUI
GUI Modules used by the Terminal
agent.
Each of the submodules contains GUI objects of different types, and will continue to be refined to allow for extensions by plugins.
gui.menus
- Widgets and dialogues available from the Terminal menubargui.plots
- Widgets and graphical primitives used for task plotsgui.widgets
- General purpose widgets that make up the Terminal GUIgui.dialog
- Convenience function for popping standard modal/nonmodal dialoguesgui.styles
- Qt Stylesheets (css-like) for the Terminal
These classes implement the GUI used by the Terminal.
The GUI is built using PySide2, a Python wrapper around Qt5.
These classes are all currently used only by the Terminal
.
If performing any GUI operations in another thread (eg. as a callback from a networking object), the method must be decorated with @gui_event which will call perform the update in the main thread as required by Qt.
Note
Currently, the GUI code is some of the oldest code in the library – in particular much of it was developed before the network infrastructure was mature. As a result, a lot of modules are interdependent (eg. pass objects between each other). This will be corrected before v1.0