Getting Started with Python GUI Applications



A recurrent question to Python developers is "Which GUI toolkit is the best? How do I get started?". The answer to this question is subjective, so we end up with a pretty long list of toolkits to try. But then, it's only a matter of playing with demos, picking the best toolkit and then creating our application by basing ourselves on demo code, right?

There are several problems with this approach. First, demo code is usually contained within a demo showcase framework and is hardly an application by itself. The poor newbie often has no idea how to properly structure his application from scratch. Second, comparing toolkits side by side is not so easy to do when demos differ from one toolkit to another.

Moreover, some GUI application designs are no so easy to start from scratch. I've been talking about cross-toolkit design as well as embedded PyObjC lately and these methods are hard to adopt unless you have a simple example in front of you.

This is why I'm publishing guiskel, a collection of GUI layer skeletons. It's a simple cross-toolkit application that does "Hello [name]!". To create a new application, all you have to do is to copy the project and remove toolkit layers you don't want.

For now, it supports only two GUI layers (those I use myself), namely PyQt and embedded PyObjC, but I hope others will participate and add additional toolkits.