Cross platform GUIs is a very serious problem today and one without
clear solution.  I agree with everyone pushing the web interface but
it does have it's limitations.  Here's my suggestions (if a web
interface doesn't work):

1. Give up.  If you want a high quality GUI on multiple platforms give
up trying a single solution and realize that you will need to
implement the GUI in a native toolkit on each platform.  Yes, this is
a tremendous amount of work but, if you want high quality, it is the
only viable solution.  The difficulties can  be partially ameliorated
by proper abstraction and separation of GUI vs. non-GUI.

2. If it's simple, use Tk.  Tk has major limitations and is totally
unsuited for complicated modern interfaces.  That being said, it is
excellent for simple interfaces and is the closest thing to a cross
platform toolkit we have.  I've been using Tk with various languages
for over a decade now and have managed to build some rather
complicated GUIs/programs with it.  For simple GUIs and rapid
prototyping it has been a joy; for serious GUI work, a nightmare.

3. Pick whichever of the alternatives (see the rest of the thread) you
think will suceed in the future and hope you're right.  There is a
definite need for a crossplatform GUI toolkit; Tk is no longer
fulfilling that need, Java never did, and the other contenders are
only satisfactory on a subset of platforms.  Sooner or later one of
these contenders or a new one will provide good functionality on all
platforms.  My guess is Fox but I'm not taking bets.

c.