Newbie looking for info

Another few reasons why my company started moving from Tkinter
to wxPython (over a year ago):

1) There are GUI development environments available for it,
   (eg. wxDesigner, boa constructor, and reportedly others),
   making it easier to construct, tweak and maintain applications
   over time. (We use wxDesigner.)

2) The resulting applications loaded and appeared much more
   quickly (at least under MSW), presumably due to the native
   implementation details.

3) There's a great store of usage examples in the wxPython
   demo (thanks to Robin Dunn et. al!) that help you figure
   out the tricky bits for most GUI elements, included as
   part of the distribution. While not a substitute for written
   documentation, I'd rather examine working code than pour
   over a tome to do this any day!

4) The users group is one of the most attentive, responsive
   and helpful communities I've ever run across on the net,
   and the signal to noise ratio has remained quite high over
   the time that I've been following it. (Kudos to all of you,
   and particularly to Robin, who is just phenomenal!)

/Will Sadkin
Parlance Corporation

···

-----Original Message-----
From: Jason Hihn [mailto:jhihn@paytimepayroll.com]
Sent: Wednesday, January 08, 2003 11:33 AM
To: wxPython-users@lists.wxwindows.org
Subject: RE: [wxPython-users] Newbie looking for info

Thank you all for your responses, keep 'em coming! ... Maybe the
consolidated content I get should become a page on wxpython.org, as I
imagine this is a much asked (or at least thought about) subject?

-J

-----Original Message-----
From: Cliff Wells [mailto:LogiplexSoftware@earthlink.net]
Sent: Wednesday, January 08, 2003 11:23 AM
To: wxPython-users@lists.wxwindows.org
Subject: Re: [wxPython-users] Newbie looking for info

On Wed, 2003-01-08 at 07:55, Jason Hihn wrote:
> I've come across wxWindows (and wxPython!) I understand
what wxWindows is
> (the Holy Grail some may say, of native-app portability)
But I am unclear
as
> to what wxPython is/why it exists. (Yes, I have RTFMs, and looked at
> tutorials and FAQs)
>
> I already know that Python is cross platform and has a
cross-platform
> interface (Tkinter). It seems that wxPython is modeled
after MFC (to be
> expected, coming from wxWindows)
>
> I wish to know:
> WHY I should use wxPython instead of Tkinter,
> WHAT advantages/disadvantages there are,

wxPython (used interchangeably with wxWindows for this discussion) and
Tkinter take two different approaches to cross-platform compatibility.
wxPython recognizes that most GUIs have very similar features
but widely
vary in the API used to access them. As such it provides a wrapper
around the native GUI so as to provide a common API on all platforms.
The advantage of this is a native look-and-feel for wxPython apps. A
wxPython app running on Windows looks like any other Windows app. The
*same* application running on GNOME will look like any other GNOME app
(including picking up the default theme).

Tkinter takes an entirely different approach. Rather than rely on the
native widget set, Tkinter solves the cross-platform problem by
implementing its *own* from scratch, using the drawing primitives
available on each platform. The downside to this is that Tkinter apps
tend to look like misfits on every desktop. I can tell just
by looking
at a screenshot if a program was written using Tkinter.

Anyway, for the developer, there are several things to consider:

Tkinter
Pros:
1. Mature, stable.
2. Widely ported.
3. De facto default GUI toolkit for Python (included with distro).
4. Simple API is easy to learn.

Cons:
1. Non-native look-and-feel.
2. Simplistic model is easy to learn, but becomes cumbersome with
   complex interfaces.
3. To be truly usable, requires downloading extra toolkits (PMW for
   example).
4. Probably a dead-end technology, as toolkits such as wxPython gain
   mindshare.

wxPython
Pros:
1. Large library of widgets
2. Native look-and-feel.
3. Very flexible.
4. Very helpful user community (which you've found =)

Cons:
1. Very active development (although this is a pro as well :wink: means
   there are quite often bugs and less often, API changes.
2. Requires downloading and installing (not included with Python).
3. Once you start using it, you'll find yourself evangelizing as much
   as you program :wink:

> I intend to start two ambitious projects shortly (one as a
test for work,
> and the other to be GNU) and I am trying to decide on a
platform. I with
to
> be desktop agnostic (GNOME/KDE) as well as being able to
develop (for the
> time being) and run on Windows - and all quickly and with a
minimum of
fuss.
> Both Tkinter and wxPython can do it, but why should I pick
wxPython over
the
> other?

Much effort has been made lately to give KDE and GNOME a
common look and
feel (well, at least by RedHat). If you use wxPython, your apps will
fit right in. If you use Tkinter, your apps will look like
neither GTK
nor KDE apps (nor a Windows app, for that matter).

The bottom line is that both toolkits satisfy the
specifications you've
given (which is perhaps why you're asking). Personally, I
started with
Tkinter, but found its simplistic API and limited widget set
constraining when I started doing larger applications. That is why I
moved to wxPython. I've never regretted the move.

Good luck with whichever you choose.

--
Cliff Wells, Software Engineer
Logiplex Corporation (www.logiplex.net)
(503) 978-6726 x308 (800) 735-0555 x308

---------------------------------------------------------------------
To unsubscribe, e-mail: wxPython-users-unsubscribe@lists.wxwindows.org
For additional commands, e-mail:
wxPython-users-help@lists.wxwindows.org

---------------------------------------------------------------------
To unsubscribe, e-mail: wxPython-users-unsubscribe@lists.wxwindows.org
For additional commands, e-mail:
wxPython-users-help@lists.wxwindows.org