How to choose the right GUI toolkit ?
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>
> >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:
> 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?
> 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:
> 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:
> 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:
__version__ = "$Revision: 1.8 $"
__date__ = "$Date: 2005/12/17 15:20:02 $"
from PythonCard import model
def on_menuFileAbout_select(self, event):
if __name__ == '__main__':
app = model.Application(Minimal)
> def on_menuFileAbout_select(self, event):
> And, of course, if you replace the word "pass" with this, as
> 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
> 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:
> 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:
> and, that message led me here:
> 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
> 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.
More information about the Python-list