* Tkinter
Pros: Easy to use, well documented, easiest to deploy, mature, license.
Cons: Butt ugly.
Best for: Internal applications that don't have to look good.
Another couple pros: the Canvas and Text widgets.
but...
Bryan Oakley wrote:
I think another pro is that Tk is incredibly well designed.
It never felt that way to me.
Another pro is geometry management, where Tkinter wins hands down.
again, I guess it's a matter of taste:
pack is remarkably powerful and easy.
I found it to be quite painful for anything but the most basic of layouts. I had to keep adding a huge number of frames, just for layout.
Each is considerably easier to
use then the somewhat confusing sizers of wxPython
They do take a bit to wrap your brain around -- but I really like Sizers.
A con to Tkinter is that it is a wrapper around Tk, which means there
are widget objects which are mapped to the actual tk widgets. This can
be clunky at times.
It seems that the folks that really make Tk dance are digging into the TCL layer -- maybe that's OK, but I've never like TCL much either...
* wxPython
Pros: Cross-platform, mature, not /too/ hard to use, license.
Cons: Less easy than PyGtk.
Best for: Cross-platform applications.
license and true native look-and-feel are the major pros.
I think wxPython's documentation is pretty bad.
I don't know -- once I learned a bit about translating the C++ to Python, it's felt good to me - and the wxPython Demo is brilliant!
One more plus: the community is fantastic! (I don't know about he other communities)
A plus for wxPython is the myriad of widgets that are available. With
Tkinter you sometimes have to "roll your own".
Another MAJOR plus -- yes, you can do a lot with the Tk Text and Canvas widgets, but you still have to do it -- wx.Grid, wxSTC, wxHTML: major bonus!
* PyGtk
Pros: Easy to use, well documented, looks good on Linux, license.
Cons: Doesn't right on Windows and Mac.
Best for: Applications that target Linux.
Agreed - Apple's X11 server is an atrocity, and native Gtk on Mac appears to be dead.
too bad -- I don't have any problem with Apple's X11, but GTK apps look and act NOTHING like a Mac app -- I'm a linux geek, so it's OK by me, but many users will hate it. It's simply not an option at this point if you want to support the Mac well.
PyQt supports all of these too, however, some of them slightly better (e.g. antialiasing in OpenGL, which I'm told will finally be available in wx2.9).
huh? GL does it's own rendering -- wx doesn't have any influence on it whatsoever.
Additional Con: cross-platform programming is still a hell of a lot harder than it sounds, because even though everything works more or less the same, simple things like different widget sizes, fonts (anyone know how to make an Angstrom symbol on Linux?), etc. can make it difficult to get the layout looking consistent. However, this was obviously going to be true for PyQt as well, unless we forced a Linux-like look on the Mac port.
In fact, the Sizer approach is probably the best at dealing with this -- I've never had an issue, actually.
Additional Con #2: I have found it very difficult to debug certain crashes,
This can be a trick, though it's been a long time since I've ahd any issues.
I eventually ended up not destroying most windows, which is more stable but occasionally leads to weird side effects and requires brute force to quit.
hmmm -- this seems like an architecture issue, though I will agree that any crash of the interpreter is a bug.
* Py[Qt]
License has kept this off the table for me, so I dont know much -- -a lot of folks really like it though.
Pros: Cross-platform, mature (ease of use??).
well, mostly -- QT apps still don't look so good on the Mac -- they don't even use the system file-open dialog, which really makes them feel weird.
Daniel Carrera wrote:
Ok. I don't know C++ and I'd rather not learn it (I do know C though, but I don't like to use it for anything but math).
you really don't need to at all. It does help to understand the C++ docs, but all that means is knowing that the arguments are preceded by their type.
I've tried Tkinter on Linux. At least here it looks ugly.
Well, it is modeled after Motif -- which is getting pretty darn ancient.
-Chris
···
--
Christopher Barker, Ph.D.
Oceanographer
Emergency Response Division
NOAA/NOS/OR&R (206) 526-6959 voice
7600 Sand Point Way NE (206) 526-6329 fax
Seattle, WA 98115 (206) 526-6317 main reception
Chris.Barker@noaa.gov