"invitro81" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED] > But I've no idea which one I should use to start with..
One thing you'll need to carefully decide is where you want to end up. The different toolkits have different limits on where you can go. A simple example is printing. Some don't support it (eg Tkinter didn't 5 years ago when I last used it). If you will never need to print then that won't matter. Generally what you'll find is that the toolkits that let you do more are harder to get started with because you have to code in such a way as to let the more complicated features (eg printing) work, and the documentation is bigger because there is more to document. These are some of those areas to consider: Printing Can you print? Does the user get to use their operating system specific dialog boxes to choose printers etc? As a developer can you find out if the printer is colour or black and white? What about the paper size? HTML Does the toolkit have a way for you to display HTML? How complicated can the HTML be (eg CSS)? Can you embed widgets in the HTML? Threading Do you have to confine gui operations to one thread? How do you send a message from a worker thread to the gui thread (the gui thread will block in an event loop - that event loop needs to be able to be woken up from other threads) Native look and feel Will your users expect a native looking application? Will they want drag and drop? Do they expect rich objects on the keyboard? Is the toolkit available for all platforms you would want to run on (Windows, Linux, Mac, BSD etc) and their variations (different processors, 32 and 64 bit runtimes)? OLE Can you display other applications as a widget within yours? What about the other way round? Can you script other applications? (Python actually has the latter available on many platforms without the need for the gui toolkit to so) i18n/l10n Does the toolkit support Unicode? How easy is it to use with multiple languages? Additional packages What additional packages are there for the toolkit? For example Pmw provides more widgets to tkinter and their are GL packages for the various toolkits. If you are going to do graphics heavy stuff you'll want some way of hooking the toolkit with PIL. There should be some sort of demo available. wxPython has a fantastic one showing every single widget with code you edit to see what effect it has. The documentation should be good as well. Pick a random question such as "how do I delete all entries in a listbox begining with 'foo'" and see if you can work it out from the documentation. There should also be some sort of mailing list and user forums. Look for helpful answers being given with people being polite. What I would suggest you do is write a simple application in two or three different toolkits (eg convert temperature between F and C). You'll learn various ways of dealing with widget placement and sizers. (ie what happens if the user makes the containing window larger or smaller). My suggestions are to try PyGame, Tkinter and wxPython. You'll be better off having learned lessons from all 3 than just using one. The piece of good news is that to my knowledge applications written using any of the toolkits can be packaged up using tools like py2exe/py2app/cx_Freeze so that you can redistribute them to other users and those users will not have to know or care that you used Python and whatever toolkit. Roger -- http://mail.python.org/mailman/listinfo/python-list