[Tutor] Any 'graphical' ways of learning Python

Mike Barnett mike_barnett at hotmail.com
Thu Dec 6 12:22:55 EST 2018


I stumbled onto this mailing list when Google found a mention of PySimpleGUI in a thread titled: Any 'graphical' ways of learning Python.

I wanted to respond with information on PySimpleGUI and why it's ideal for students.

If you're teaching kids and they want to learn how to do GUIs so that their programs run and look like Windows programs, then the PySimpleGUI package is the right choice.  It runs on top of either tkinter or Qt.  With tkinter it's easy to also package up the program into an EXE file that they kids can give to friends.  There are instructions in the PySimpleGUI documentation located at http://www.PySimpleGUI.org.

The GitHub http://www.PySimpleGUI.com has over 130 demo programs and there is a Cookbook filled with Recipes that you can copy, pate and run. There is a section with a bunch of exercises that are part of a course that an Aussie teacher developed.  You'll find them posted here:
https://github.com/MikeTheWatchGuy/PySimpleGUI/tree/master/ProgrammingClassExamples

There is extensive documentation for the package http://www.PySimpleGUI.org

The experience for the first time user was designed to be a positive one, filled with success, with the goal of having a GUI up on the screen within FIVE MINUTES of starting the process of installing.

PySimpleGUI was written with students and beginners in mind.  The idea was to enable the creation of any GUI layout using the same full-featured GUI widgets that are available if you coded directly in tkinter or Qt, but done without the boilerplate code.  The package does all the messy work for you.  It also hides the concepts like callbacks that are confusing to beginners.

Take a look at a small sampling of the GUIs made.
https://github.com/MikeTheWatchGuy/PySimpleGUI/issues/1
The better ones are towards the bottom. It's a long list dating back to the 1.0 release so the early stuff looks a little primitive.

The reviews from users have been extremely positive on Reddit and on the GitHub site.

Today this was posted by a user on Reddit:
I'm finding it so easy to add a quick GUI front-end to some of my Python scripts with PySimpleGUI. There's so much less "boilerplate" needed than with more traditional GUI frameworks that I find myself adding simple GUIs to scripts which I would just run in console mode otherwise.

There are currently two flavors of PySimpleGUI, one that uses tkinter and the other Qt.  The great thing about PySimpleGUI is that you can create the same layout that you would if you coded directly in tkinter or Qt.  All of the same widgets are available for use.  They are just presented in an easier to understand manner.  The source code created in PySimpleGUI will run on either tkinter or Qt platform.  The only thing you have to change is the import statement.

PySimpleGUI has plenty of depth of features.  The result is a powerful GIU framework capable of running a large variety of user interfaces including running in the system tray.

PySimpleGUI is actively developed and maintained.  Should you run into a problem, it's typically addressed the same day.

There was a clear, large gap in the GUI landscape for Python.  In order to write even the most primitive of GUIs, you are required to know and use skills that are advanced beginner / intermediate.  GUIs are often taught towards the end of the curriculum for this reason.

With PySimpleGUI GUIs can be taught from the beginning of the course.  Rather than using the command line for input/output, it's easy to use windows instead.

If you want to learn more about the overall architecture, this recent post will help:
https://www.reddit.com/r/Python/comments/a1mj0p/pysimplegui_under_the_hood/



@mike<mailto:mike_barnett at hotmail.com>



More information about the Tutor mailing list