In article <[EMAIL PROTECTED]>, Kay Schluehr <[EMAIL PROTECTED]> wrote: > >[EMAIL PROTECTED] wrote: >> I am trying to learn GUI programming in Python, but have to confess I >> am finding it difficult. > >Don't do it if you can prevent it. > >GUI - toolkits are very complex beasts and at least to me a source of >pain far more as a joy. Python cannot help you making them >significantly simpler but on the contrary add just another level of >indirection. Python normally shines when you have to glue libraries >together or programming simply Python scripts for a broad range of >purposes but if the wrapped library publishes a huge interface with >hundreds of classes and thousands of methods and attributes the benfit >of Pythons abstraction converges to zero. Python does not offer a good >toolchain to take up with Swing, WinForms or Qt to name just a few >delivered with IDEs that are very helpfull in developing GUI apps. Not >to talk about documentation... > >Conclusion: if you are already familiar with BASIC I would just >continue writing BASIC apps using VisualBasic dotNet, Windows Forms as >the underlying GUI toolktit and VisualStudio as IDE. Forget the >coolness factor of the language. Cool people never care a lot what >other people think. If you finally want to glue assemblys/controls >together in Python this is still possible with IronPython or >Python-dotNet ( which is a CPython binding to the CLR, available at >Zope.org ). >
There's something about this that bothers me, Kay. I like the clarity and precision of your explanation. To avoid trouble is advice worth emphasizing. I applaud your emphasis on Python's adeptness at co-operating with other languages. I think you've left a few things unsaid, though. Others have pointed out in this thread that, for example, Web applications are *great* for many GUI requirements. Also, although toolkit zealots regularly underestimate the "activation energy" often required to configure a develop- ment environment, newcomers deserve to know how easy it can be to start with Tkinter. While it doesn't make for the slickest MacOS-style applications, it's pedagogically pertinent that a Mac comes "out of the box" with the ability to import Tkinter Tkinter.Button(Tkinter.Tk(), text = "Push me").pack() That sort of brevity can encourage beginners in an important way. -- http://mail.python.org/mailman/listinfo/python-list