5 ms·
Tkinter: - Bindings to Tk (Tcl; cross-platform GUI toolkit). - Bundled with Python. - Easiest to use but has the least features. - Ugly on Linux and is diff
by cpburns2009 9y ago
Tkinter:
- Bindings to Tk (Tcl; cross-platform GUI toolkit).
- Bundled with Python.
- Easiest to use but has the least features.
- Ugly on Linux and is difficult to theme.
- Good choice for small applications if you only care about utility.
PyQt (or PySide):
- Bindings to Qt (C++; cross-platform GUI framework).
- PyQt is GPL licensed and supports Qt 4 and 5.
- PySide is LGPL licensed and supports Qt 4 (support for 5 is in development).
- The pixel perfect purists dislike it on Windows and Mac.
- Good choice for large applications where an almost native look is sufficient.
PyGTK:
- Bindings to GTK+ 2 which is obsolete.
PyGObject:
- Bindings to GTK+ 3 (C/GObject; cross-platform GUI toolkit).
- Comparable to Qt.
- I've heard Windows support isn't the greatest (this may be obsolete now).
- I'm biased and perfer Qt over GTK on Linux.
- Good choice for large applications where an almost native look is sufficient.
wxPython:
- Bindings to wxWidgets (C++; cross-platform GUI toolkit).
- Comparable to Qt.
- Uses native widgets on Windows and Max, uses GTK+ on Linux.
- Good choice for large applications where a native look is required.
Kivy:
- GPU accelerated GUI framework.
- Does not look native.
- Good choice for graphically intense applications that do not need a native look.
My recommendation is:
- Small, utility program: Tkinter.
- Large application: Qt (if an almost native look is sufficient).
- Large application: wxPython (if a native look is required).
- Graphically intense application: Kivy.