Graphical User Interfaceï
The graphical user interface (GUI) makes use of PySide6 which itself is a Python implementation of the Qt 6 GUI framework.
We use PySide6 as opposed to PyQt 6 because of licensing preferences and because PySide is developed by the Qt Company (the first party) and so it is likely to be supported for longer.
(The PySide6 is LGPL licensed. Qt Designer is GPL licensed but we only use it as a connivent tool and do not bundle or have our program require it. As far at PySide6 is concerned, we are dynamically linking it and are bound only by LGPL. See License.)
The exact shape and form of the GUIs are a byproduct of the features required for the Manual Mode and Automatic Mode operations. The interface is optimized to those use cases and does not otherwise follow a rigid theme.
Qt Designerï
To design the GUIs, we use Qt Designer as it is an easy interface. This program can be downloaded via the Qt installer. Qt Designer does not need to be installed on the same machine as it just generates the GUI design files.
When installing Pyside6, Qt Designer often is included and can be invoked by:
pyside6-designer
The GUI design files are saved in the
/OpihiExarata/src/opihiexarata/gui/qtui/
directory typically as
something akin to manual.ui
. These files may be opened by Qt Designer
and modified as needed.
Building UI Filesï
It is part of development (not installation) to develop the Python versions of the GUI files. The UI files created via Qt Designer can be converted to their Python versions using pyside6-uic. (See Qtâs documentation for more information.)
The UI files are stored in /OpihiExarata/src/opihiexarata/gui/qtui/
and it is expected that the generated Python equivalent files will also be
written there as qtui_*.py
, where the original UI filename replaces
the wildcard.
For example, for a file manual.ui
, it can be converted to the proper
Python version using the command:
pyside6-uic manual.ui > qtui_manual.py
Every UI file should be turned into their respective Python version. A Powershell Core script has been written to automate this process. It can be found in the same directory and is executed by:
pwsh build_qtui_window.ps1