When comparing Tkinter vs PySimpleGUI, the Slant community recommends Tkinter for most people. In the question“What are the best Python GUI frameworks/toolkits?” Tkinter is ranked 3rd while PySimpleGUI is ranked 4th.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Free for commercial use
Pro Included in the standard Python library
You probably already have it, since it's included in the standard Python distributions.
Pro Easy to learn and get productive with
TkInter is a small library with a gentle learning curve compared to what’s out there. It has a straightforward API and is often the go-to choice for building quick GUIs for Python scripts.
Pro Building executables is less complicated
Compared to other GUI libraries, building executables for TkInter applications are simpler because TkInter is included in Python and has no other dependencies. This results in less complicated packaging requirements and smaller binary size.
Pro Fast
Pro Extremely easy to learn, compared to other GUI
Python GUI For Humans - Transforms tkinter, Qt, Remi, WxPython into portable people-friendly Pythonic interfaces.
- Requires 1/2 to 1/10th the amount of code as underlying frameworks.
- One afternoon is all that is required to learn the PySimpleGUI package and write your first custom GUI.
- Students can begin using within their first week of Python education.
- No callback functions. You do not need to write the word "class" anywhere in your code.
"I've been working to learn PyQT for the past week in my off time as an intro to GUI design and how to apply it to my existing scripts... Took me ~30 minutes to figure out PySimpleGUI and get my scripts working with a GUI."
"Python GUI has been an absolute nightmare for me and I've avoided it like the plague. Until I saw PysimpleGUI."
"I've been pretty amazed at how much more intuitive it is than raw tk/qt. The dude developing it is super active on the project too so if you come across situations that you just can't get the code to do what you want you can make bug/enhancement issues that are almost assured to get a meaningful response."
"This library is the easiest way of GUI programming in Python! I'm totally in love with it"
"Wow that readme is extensive and great." (hear the love for docs often)
"Coming from R, Python is absolutely slick for GUIs. PySimpleGUI is a dream."
"I have been writing Python programs for about 4 or 5 months now. Up until this week I never had luck with any UI libraries like Tkinter, Qt, Kivy. I went from not even being able to load a window in Tkinter reliably to making a loading screen, and full program in one night with PySimpleGUI."
"I love PySimpleGUI! I've been teaching it in my Python classes instead of Tkinter."
Pro Single file
Either pip install or copy single source file to your project.
Pro Run PySimpleGUI code on multiple GUI Frameworks by changing 1 line of code
The same PySimpleGUI code written by the user can be executed on multiple GUI platforms without changing the source code. Only the import statement needs to be changed. Write the GUI once, run on multiple platforms including a web browser
- Create windows that look and operate identically to those created directly with tkinter, Qt, WxPython, and Remi.
Pro No package dependencies other than tkinter
Wraps tkinter and does not require any other packages be installed.
Pro Easy and comprehensive documentation, tutorials, example code and videos
300+ Demo Programs teach you how to integrate with many popular packages like OpenCV, Matplotlib, PyGame, etc.
Tons of documentation, a Cookbook, built-in help using docstrings - in short, it's heavily documented.
Pro Open source
Pro Highly customizable
Pro Multi-platform support
Python code with GUI will run on Windows, Linux, Raspberry Pi and Android (PyDroid3) with very minor changes. one to 4 lines of boilerplate type code.
Pro Supports both Python 2.7 and Python 3
Pro Uses Python language constructs cleverly
PySimpleGUI leverages the Python language constructs in clever ways that shorten the amount of code and return the GUI data in a straightforward manner. When a widget is created in a form layout, it is configured in place, not several lines of code away.
With most GUIs, arranging GUI widgets often requires several lines of code… at least one or two lines per widget. PySimpleGUI uses an "auto-packer" that automatically creates the layout. No pack or grid system is needed to lay out a GUI window.
What makes PySimpleGUI superior for newcomers is that the package contains the majority of the code that the user is normally expected to write. Button callbacks are handled by PySimpleGUI, not the user's code. Beginners struggle to grasp the concept of a function, and expecting them to understand a call-back function in the first few weeks is a stretch.
Pro Updated frequently
New releases, new Demo Programs, documentation, online resources as constantly being added.
Pro Udemy Course
Has a 61 lecture course on Udemy now that's got more than the free older courses on YouTube.
Cons
Con No advanced widgets
TkInter does not come with advanced widgets out of the box (e.g. date picker).
Con Not good looking
You need a lot of code to make it look good.
Con No reliable UI builder available
There is no tool in the same league as Qt Designer (PyQt) for TkInter.
Con Bad dev attitude
Con Non pythonic
Con Bad documentation
The documentation has no structure, is very messy and is based on a case-by-case usage instead of explaining how the lib works.