[FAQ] "Best" GUI toolkit for python
pozz
pozzugno at gmail.com
Mon Oct 17 18:58:42 EDT 2016
I'm sorry, I know it is a FAQ..., but I couldn't find a good answer.
I'm learning python and I'd like to start creating GUI applications,
mainly for Windows OS. In the past, I wrote many applications in Visual
Basic 4: it was very fast and you could create simple but effective GUIs
in Windows in some minutes.
Actually I'm not interested in cross-platform application, however it
could be a good feature to have.
I understand there are some alternatives, with pros and cons:
- Tkinter
- GTK (pyGObject for Python3)
- QT (pyQt or pySide for LGPL licence)
- wxPython (wxPython/Phoenix for Python3)
- FLTK
There is an entire page on python website that talks about GUI toolkits:
https://wiki.python.org/moin/GuiProgramming
I can't test all of them to understand what is the best for my needs.
I started with GTK some weeks ago and I encountered many troubles:
- pyGtk is old, better to use pyGObject (it isn't so clear at first)
- Glade Windows binaries on website are old, better to use the binary
that can be downloaded from Msys2 project
I'm not sure, but I don't like too much this solution... maybe it's only
a matter of time.
Glade application (for visual GUI building) seems not very stable under
Windows. I had many crashes. Moreover it's very complex to understand
the arrangement of widgets on a window. Even a simple listbox is
implemented through the GtkTreeView widget that is... very complex to
understand.
Documentation isn't so good: it's so simple to put a note on the Windows
binaries page of glade to download a more recent version through Msys2!
So I'm thinking to evaluate other solutions. wxWidgets is attractive for
it's native look&feel, but python implementation Phoenix for Python3 is
in alpha stage. Moreover wxGlade (the GUI builder application) needs
Python2, but I couldn't understand if the generated code is compatible
with wxPython/Phoenix.
QT is another alternative, but I need pySide for LGPL support (pyQt
isn't LGPL). Is it good as pyQt project?
Any suggestions? One of my requirement is to have a good
documentation/support from community... and the solution must be
currently active.
More information about the Python-list
mailing list