Authors: Torsten Marek, David Boddie

Introducing PyQt4 for GUI Application Development

Status

Submitted the talk, presented it, and uploaded slides.

Abstract

PyQt4 is a set of bindings for Qt 4, a cross-platform C++ framework used to make graphical user interface (GUI) applications. With the release of PyQt4, Python developers are now able to develop powerful cross-platform applications and deploy them under the GNU General Public License (GPL) or the Qt Commercial License on all platforms that support Qt and Python.

We will first briefly discuss PyQt (for Qt 3) and PyKDE (bindings for the K Desktop Environment), and take a look at what has changed in PyQt4. The main part of the presentation will cover the new possibilities that PyQt4 offers developers, including access to Qt's rich text handling features, sophisticated data handling controls, internationalization support, and integration with the Qt Designer GUI design tool.

Remarks:

Thoughts

I'm not completely sure whom to target. Judging from the fact that this is a Python conference, we should probably put emphasis on the Python part and not on the compatibility between PyQt and Qt/C++. I think there's no need to actually win somebody for Python.

I think we're trying to answer the question, "Why use PyQt to create applications?" rather than, "Why use Python to write Qt applications?" The latter question would form the basis of a talk I should give to my colleagues. ;-)

One way to approach this is to ask, "What advantages does PyQt give Python developers? Which features are particularly special or interesting?"

Introduction

General features of Qt and PyQt:

Topics

I think it would be good to split the talk into sections. Apart from the review part, which could just show things like examples of PyQt applications and Python applications in KDE, the second part could also be split into interesting topics that are accompanied by examples.

Taking the Qt 4 Whitepaper as inspiration, and trying not to turn this into some kind of marketing document, the key points are:

The problem with this approach is that it doesn't really point out the fundamental features that make Qt different, or at least provide the basic architectural foundations, such as layouts, signals and slots, and support for internationalization. Unfortunately, I think the alternative approach would be fairly dry and technical, and would probably be more appropriate for training material.

Demos and Examples

I think we should carefully look at what's already available, especially for PyQt4, before spending time creating new demos and examples. The PyQt4Examples page shows what's been ported from C++, though there are a few more examples that aren't quite finished, and the Qt snapshots contain more recent ones as well.

Visually appealing and/or interesting Qt/PyQt examples:

Things We Missed Out

I still need to finish writing sections about databases, OpenGL and internationalization. I think it's probably too optimistic to hope that we'll get everything mentioned here into the talk.

PyQt/EuroPython2006Talk (last edited 2014-06-04 21:38:59 by DavidBoddie)

Unable to edit the page? See the FrontPage for instructions.