Best Python framework for building a desktop application and GUI

codesharedot on October 25, 2019

Python has been the most trending programming language used for object oriented progamming. With python you can run simple statement over and over ... [Read Full]
markdown guide

Qt officially adopted PySide2 as their own formally maintained Qt5 bindings for Python, so it is advisable to use that over the third-party PyQt5 now. They're feature-identical at this point. (Bonus, PySide2 is LGPL, while PyQt5 is GPL!)

Also, just FYI, packaging a Kivy app for distribution is a living nightmare, due to a significant and complex bug in setup.py related to the Cython dependency. Tried to package my own project for six months, even getting Alan Pope ("popey" of Snapcraft), Gabriel Pettier ("tshirtman" of Kivy), "TheAssassin" of AppImage), and a Debian packaging expert (whose name is lost in my IRC backlogs) involved in trying to manage a workaround. No dice.


Is PySide2 actually ready from primetime use? The list of known issues on the wiki doesn't fill me with confidence and there are a large number of bugs on the tracker.

I'm in agreement that Qt for Python (PySide2) is likely the best option in the long term due to the first party maintenance by Qt, but I'm concerned it's not as stable as PyQt5 yet.


I haven't noticed anything major as of yet, and anyway, you know how it goes: adoption usually speeds up bugfixes.

I'd recommend to start building with PySide2; by time your project is finished, it will be stable. Or else, worse case, you just change your import statements and leave the rest the same. ;)

I already have a large project that was ported from PySide1 to PyQt and it was non-trivial to do (sure most of it was the same but that couple of percent difference was a pain to find and update), so I'm not keen to repeat that experience until it's worth it. Sounds like maybe I should wait a bit longer or look into using qtpy as an abstraction layer.

I think that was a newer thing about Qt5...that PySide2 and PyQt5 had identical APIs. But I could be wrong. The abstraction layer sounds wise in any case.


I was excited to see couple of new frameworks and immediately was excited by kivy. Glad I read your comment, looks like I shouldn't touch that yet !


I've found PySimpleGUI to be a great platform for quickly building a desktop app. Everything I've built with it is small (I.e. not an enterprise application,) so take my evaluation with a grain of salt- but my experiences have all been fantastic. My only real gripe is their readthedocs page is a bit of a mess.


This, to all points. Small application, simple GUI development, but the docs are a mess.


Have you used PyCharm ? There is a free edition


Pycharm is Python IDE. It is not Python GUI framework.


I did not know pygui but now inwill surely try it out.


Suprised you didn't include beeware.org in your list. Toga is well designed and easy to create a cross platform app.

code of conduct - report abuse