Using an additional Python GUI library
Abstract: The Add-on Editor and the Dialog Designer provide an easy and convenient way of adding a graphical user interface to your Add-on — see User-defined dialogs. GUIs which are created this way seamlessly integrate into the look and feel of ZEISS INSPECT. However, there are reasons why using a separate Python GUI library might be preferred. This article gives a brief overview on use-cases, options and installation.
Use-cases
There are three main reasons for using an additional GUI library:
You are missing an important feature in the Add-on development environment
You want to integrate existing Python GUI code into an Add-on
You are already familiar with a GUI library as a developer
Options
Which Python GUI library should you use? - Comparing the Python GUI libraries available in 2023 gives an excellent overview on available options.
The most relevant libraries for Add-on development are:
PyQt5/PySide2
PyQt6/PySide6
Tkinter
PyQt and Pyside are technical siblings, but they are provided with different licenses — see PyQt vs PySide Licensing.
ZEISS INSPECT currently uses Qt5, so implementing an Add-on with PyQt5/Pyside2 will definitely integrate seamlessly into the look and feel.
Tkinter’s look and feel differs significantly from the usual Windows/ZEISS INSPECT GUIs. It is probably only an option if you have to integrate legacy code.
Installing PyQt
Both PyQt5 and PyQt6 have to be installed as described in Using Python wheelhouses. Additionally, the Python packages PyQt5-sip
or PyQt6-sip
, respectively, have to be installed with the Add-on Explorer.
Installing PySide
Both PySide2 and PySide6 have to be installed as described in Using Python wheelhouses.
Tkinter
Tkinter is already part of the ZEISS INSPECT Python installation.