Developing GUI

GUIs for SAMSON and SAMSON Elements are done using Qt 5.12.5.

Qt provides you with a lot of modules. Due to their licenses, not every Qt module can be used in a SAMSON Element that you want to distribute via SAMSON Connect. For example, Qt modules with GPL licenses cannot be used in SAMSON.

If you plan to have a GUI in your SAMSON Element, you can check out the Qt Documentation.

SAMSON Element generator creates Qt forms for classes where they can be necessary. For working with Qt forms we advice using QtCreator (see QtCreator manual), which should have been installed during the installation of Qt.

Please refer to the tutorials page to learn how to develop SAMSON Element with GUI.

Good practices

Non-GUI functionalities, if possible, should be placed in non-GUI classes: SAMSON Element's GUI should be used only to interact with users (e.g. receive data, commands, show results). Example: data processing, computations should not be placed in GUI-related classes, but rather in a specific classes (e.g. App).