Quick Links
Home
Python index
Database Objects
Kura (now maintained by
Peter Bouda)
CGI scripting and MySQL
Kpybrowser
Python + KDE Tutorial
Python + KDE Resources
PyKDE example programs
Python and Qt2
PyKDE and PyQt news
A population simulation with Stackless Python
Drift: a language simulation in Python
Anonymous CVS access
- 30-03-2000 - Redesign
- 02-11-1999 - Creation
© 1999 Boudewijn Rempt
|
|
Resources for the Python/KDE/Qt programmer
There really is ample documentation on programming with Python and
KDE/Qt available on the web, and it's quite possible that you have
already parts of it on your hard-disk, like the KDE library
documentation. However, I think it could be quite handy to have a
list of the most important resources.
Like all lists of links, this list could very well be out of date
even before I type the final </html>. If you
see a link that doesn't work, please, please, inform me! I try to check all
links with webchecker, I promise.
Software design
You can't make large programs without doing some design, and being
aware of the solutions other developers have already thought out. At
least, that's what I'm beginning to realize after five years in the
business...
One of the books I'm getting a lot of use out of is Design
Patterns by Gamma, Helm, Johnson and Vlissides. It's pretty
clear and usable, even though you have to remember that the editor they
describe in the case study was incredibly awful. I suggest you support
Python and buy it from the PSA
bookshop. This book has even reached the pages of Visual Basic Journal...
Another classic worth the asking price is Code Complete, by
Steve Connely (Microsoft Press - better books than software ;-), which
is very, very practical, if dated a bit. If you start out with his bibliography
you'll quickly arrive at classic authors like Booch and Jacobsen.
Interface design
If you're writing a KDE application you must absolutely try
to conform to the interface standards, even if you think some of the
standards are silly. Apart from the KDE interface standards, there is
much general literature on the subject.
KDE Interface standards. This is the best document on the KDE
standards.
Another
document on the KDE interface standards.
The Interface hall of
shame is a must-read, absolutely.
The Microsoft Guidelines for Interface design is a
very good book, and it is very interesting to see how Microsoft
constantly deviates from its owen guidelines in order to provide
interfaces that look new and different, creating the illusion that all
the competing applications are old-fashioned and dowdy looking.
Internationalisation
Internationalisation is difficult topic, and I haven't yet succeeded
in tackling it in Python and KDE. For now, you will have to find your
own way. I suggest you start at developer.kde.org,
which will lead you to all kinds of information about KDE
internationalisation issues.
The GNU
gettext program will filter C programs for internationalisationable
strings.
There is a Python gettext program,
which I have adapted to KDE. The author is Barry Warsaw and you can
find the original version at:
http://www.python.org/~bwarsaw/software/pyware.html.
Python resources
Python is an easy and clear language. However, I think the same can't
be said of its documentation. The standard Python tutorial (which I'm
sure you will already have - otherwise get it from http://www.python.org) is only now
beginning to make sense to me, and the library reference is often too
terse.
Steve Noble has pointed me to the following two places:
At the PSA bookshop
you can buy lots of different Python books. I've personally tried
two:
Programming Python, by Mark Lutz. This is rather dated, not
very organized, and doesn't do a good job of explaining the features of
the language. Instead, it feels like a generaling structured programming
course.
Internet Programming with Python, by Watters, Rossum and
Ahlstrom. This book is also quite dated, has a horrible layout, and
spends far too much time telling us that something won't work according
to our expectations, instead of telling us what works.
Neither of these books explains really clearly the difference between
objects and classes, while still making clear that a class is an object,
too.
Perhaps the new book, Learning Python, also by Mark Lutz, is
better, and you can find quite decent sample chapters at O'Reilly.
Qt resources
The basic place to find information about Qt is Troll Tech, of course.
The Qt documentation will already be on your harddisk - possibly at
/usr/lib/qt/doc/html, or
/usr/local/qt/doc/html/index.html,
depending upon the installation of Qt.
O'Reilly has recently published
a book on Qt 1.44, by Mathias Kalle Dalheimer, which is very well spoken
of. I don't know that it offers something beyond the on-line docs, but at
least you take it with you on the train.
KDE resources
style management
The
file system standard
kdevelop offers a lot of good
tutorials and can whip up a framework quite quickly, which you can
easily translate to Python. Pity it doesn't support developing with
Python!
The
KDE library documentation is essential, too.
Other
kde documentation from developer.kde.org.
PyKDE/PyQt resources
There is a mailing list for PyKDE/PyQt developers that's quite
friendly, very much on topic and which I heartily recommend everyone to
subscribe to:
mats.gmd.de/mailman/listinfo/pykde is the address.
My tutorial is getting a bit dated - it
doesn't incorparate the changes to QString in version 0.10 of the
bindings, and it doesn't have the material on layout management,
desktop integration or internationalisation that I'm currently
writing about - but people do think it's a useful start.
Martin P. Holland has released an application, kpftupdater and an
installer/uninstaller for PyKDE applications: http://www.noether.freeserve.co.uk/software.html.
You will of course already know where to get the bindings, but for
completeness sake:
http://www.thekompany.com/projects/pykde/
is the original site.
|