After reading article about "file reading and copying", few readers via comments on g+ and email asked to write about GUI development in python 3. Frankly, I have never been GUI fan but for the sake of requests I explored some development options available. My preference is summarized below:
For python 3.x : PyQt > tkinter (no WxPython support while the time of writing this)
There are more options available which I have not explored yet. (An exhaustive list can be found here: GUI programming.)
First and foremost, I'd like to say that wxPython is one of the best project as per my literature survey (notably, GvR quoted it to be most mature GUI project) but since it has not been ported into python 3.x, I will talk only about PyQt4. WxPython is under very active development and hopefully soon it will be released for py3k and its progenitors.
Why not show love for tkinter?
Yes, obviously it is native in python, stable and simple but what I don't like about tkinter is that it often tends to have a non-native look. Tkinter windows (or frames if u like to call it phuff!!) often look strikingly different from current theme. Secondly, unlike PyQt and WxPython, tkinter does not have a very active user community.
![]() |
| IDLE; python's own IDE is designed using tk. On my arch linux running XFCE desktop environment its frames appear noticeably different from that of other applications. |
Importing ttk which is one way to address issue of incongruous appearance of tkinter. (but be aware, ttk alters the methods of tk widgets so don't be surprised if you cannot call select/deselect on a checkbutton with ttk.) Call me biased but I find pyQt and wxPython more tweak-able than tkinter.
Important note :
PyQt comes in two different license versions:- GPL (code must be made available)
- Commercial license (costs money)
