How to choose the right GUI toolkit ?

John Henry john106henry at hotmail.com
Fri Nov 10 07:15:52 CET 2006


Bill Maxwell wrote:
> On 8 Nov 2006 11:49:07 -0800, "John Henry" <john106henry at hotmail.com>
> wrote:
>
> >
> >John Salerno wrote:
> >> Dan Lenski wrote:
> >>
> >> > So, is there another toolkit I should be looking at?
> >>
> >> I highly recommend wxPython. It's very mature, full-featured, and
> >> portable, and fairly easy to learn as well. I can't really compare it to
> >> other toolkits (not having used any of them, except Tkinter), but it's
> >> definitely one of the most popular and well-supported ones out there.
> >>
> >> http://www.wxpython.org/
> >
> >I highly recommend that you try PythonCard (which sits on top of
> >wxPython).  You can get productive very very quickly.  Take a look at:
> >
> >http://pythoncard.sourceforge.net/walkthrough1.html
>
>
> I took a brief look at PythonCard almost a year ago and got discouraged
> by what I found, so I stopped looking at it.  I've inserted my notes
> from back then, below.  Does anybody know if these things have been
> fixed in the latest release?
>
> Bill
>
>
> =====================================================================
> My notes from Fri Dec-23-2005:
>
> This is a list of gripes I have while trying to learn about PythonCard.
> I'm trying to investigate various GUI builders for Python, and
> PythonCard looks promising, but a lot of things are getting in the way.
>
> I installed yesterday, using this installer:
> PythonCard-0.8.1.FIXED.win32.exe
>
> A)  The very first example in the tutorial is wrong!
>
> 	On this page:  http://pythoncard.sourceforge.net/documentation.html
> 	When you follow this link to try something for the very first time:
>
> 		Getting Started in PythonCard by Dan Shafer:
> 			http://pythoncard.sourceforge.net/walkthrough1.html
>
> 	You quickly see that the minimal.py example doesn't even contain
> this line, even though the tutorial refers to it:
>

I am not sure which one you are referring to but in the
PythonCard\samples\minimal, you will find a minimal.py that says:

#!/usr/bin/python

"""
__version__ = "$Revision: 1.8 $"
__date__ = "$Date: 2005/12/17 15:20:02 $"
"""

from PythonCard import model


class Minimal(model.Background):
    def on_menuFileAbout_select(self, event):
        pass

if __name__ == '__main__':
    app = model.Application(Minimal)
    app.MainLoop()



> 		def on_menuFileAbout_select(self, event):
>
> 	And, of course, if you replace the word "pass" with this, as
> instructed:
>
> 		result = dialog.alertDialog(self, 'It works!', 'Showing Off')
>
> 	it won't run, because the existing "pass" line isn't inside a def
> inside of a class.
>

No, it didn't work because the author forgot to mention that you have
to do a:

from PythonCard import model, dialog

instead of just:

from PythonCard import model

I just tried it and it works.

>
> B)  Is the Notebook widget really supported?
>
> 	In the installed file "changelog.txt" (gets installed as part of
> PythonCard installation), it says:
>
> 		"added Notebook component, PageBackground, and testNotebook
>  		sample"
>
> 	But, the testNotebook sample is nowhere to be found.
>

I haven't come across a need to use Notebook and so I can not say for
sure.  Looking at notebook.py, it appears to be just a simple wrapper
on top of the wxWindow notebook.  I would encourage you to post a
message to the mailing list and ask there.


> 	I looked lots of places, including the main SourceForge web site,
> and on the wiki, here:
>
> 		http://wiki.wxpython.org/index.cgi/PythonCard
>
> 	Both the main website and the wiki seem way out of date, and the
> latest dates I could find on both of them are sometime in 2004.
>

Yes, sometime around 2004, the website updating stopped.   Fortunately,
development didn't.  There are quite a number of new things since then:
new resource editor (now call layout Editor, standalone exe creator,
and so forth).  I even learn that a new sizer handler is in the work.

Not saying that there are 10 programmers working 7/24 on it.  It *is*
an Open Source project nevertheless.   Nobody gets paid for doing it.
 But there are development work going on.


> 	Finally, by following the mailing list archive link on the main
> website, I managed to find a reference to the notebook component on the
> ASPN site, where some guy named Brian wonders about the same thing as
> me, concerning the availability of the notebook component:
>
> 		http://aspn.activestate.com/ASPN/Mail/Message/pythoncard/2536825
>
> 	and, that message led me here:
>
> 		http://article.gmane.org/gmane.comp.python.pythoncard/1060
>
> 	where Kevin Altis admits that he forgot to include it in the 0.8.1
> release!  At least he provides a way to download it separately.  But,
> gheesh, this is pretty poor for a new user.  I was interested in using
> the notebook component right away, because I looked at the wxGlade
> tutorial before looking at PythonPage, and they use the notebook
> component in their example (and I decided I really want to use the
> component).
>
> 	To add insult to injury, after you download the zip file with the
> testNotebook stuff, the readme file says this:
>
> 		"Until we have a Notebook integrated into some of the other
> samples or tools this will serve as a basic test app, but I don't expect
> to include it in releases."
>


As with all Open Source projects, your mileage differs.   PythonCard
does what *I* need to get done - and allowed me to get it done in a
*hurry*.  May be you really need Notebook and may be it's true that
Notebook really doesn't work, I don't know.   But if you managed to get
it working, write it up and get it included.  That's what Open Source
Projects are all about.


> C)  Are the websites being maintained?


It appears that the maintainer of the web site stopped updating it
since late 2004.  I don't know why.   May be he's been busy.  May be he
got mad.  I don't know.   All I know is that I have been very
productive with what I need to get done (and earned a happy living with
the code I created) and I am very grateful to the people that worked on
it - past and present.

I am not a "professional programmer" and so I probably can't contribute
to the development effort itself.   However, I've gotten pretty good in
using most of the package (other then Notebook, I admit).  So, if you
have any specific questions, please post it to the PythonCard list and
I'll try to help if I can.

Cheers.




More information about the Python-list mailing list