There are several Python packages that can be used to generate a user interface for a script and it's hard for me to judge ahead of time which one I should learn first. I don't have a developer-level of skill so I'm pretty slow. So instead of just trying them all I thought I'd ask here to avoid going down a path that turns out to be a dead-end for me.
Here are some examples I've run across; I've seen wxPython mentioned frequently so right now I am thinking of starting with it.
- wxPython
- PySimpleGUI
- matplotlib.widgets
- PyQt
- pyside
- pyGKT (seen in this answer)
What I'm doing/what I need:
I don't need something that generates an attractive or professional look. I just need an easy-to script "control panel" generator that can update itself with when add new group
is clicked.
As I update/revise the script on my MacOS laptop in an anaconda installation there should be at least a reasonable expectation for it to continue to work on a Windows anaconda installation.
I'm familliar with MatPlotLib for data plotting and images. I am guessing if I use a new control panel generator I will have to learn a new data plotter unless I can easily embed matplotlib plots within the display somehow.
Each data folder has a group of images. When I run this Python script I need to browse my computer and point to a folder and several images will appear in windows. I will have a few dozen sliders and radio buttons arranged in clusters. Touching any of them triggers recalculation.
Right now there are four groups shown, there'll be an add new group
button and each time clicked it triggers a pull-down menu of options and then generates a new group of sliders and buttons, up to perhaps a dozen.
In the future, I might look into a way to make those hidden but for right now we need "the big picture". So there can be blank spaces for each of the first dozen, or they could be grayed out until activated. I like the blank space option because it reduces visual clutter.
Needs to work easily with a Python 3 Anaconda installation, and (ideally but not necessarily) compatible with eventual conversion to an executable for Windows and MacOS.
Here is an ugly and edited screenshot of what I've built with Matplotlib's widgets.