A Byte of Python

Kapitel 16. Was kommt als Nächstes?

Inhaltsverzeichnis

Software mit grafischer Oberfläche
Zusammenfassung GUI-Tools
Entdecken Sie mehr
Zusammenfassung

Wenn Sie dieses Buch bis hierher gründlich gelesen haben, und sich darin geübt haben, viele Programme zu schreiben, dann müssten Sie sich inzwischen mit Python angefreundet haben und damit vertraut geworden sein. Sie haben vermutlich einige Python-Programme geschrieben, um verschiedene Dinge auszuprobieren, und um Ihre Python-Kenntnisse in der Praxis zu üben. Wenn Sie dies noch nicht getan haben, dann sollten Sie es noch tun. Jetzt stellt sich die Frage: "Was kommt als Nächstes?"

Ich möchte vorschlagen, dass Sie sich einmal an dieses Problem heran wagen: Schreiben Sie Ihr eigenes kommandozeilenbasiertes Adressbuch-Programm, mit dem Sie Ihre Kontaktadressen wie Freunde, Familie, Kollegen, und die zugehörigen Informationen wie E-Mail-Adresse und/oder Telefonnummer hinzufügen, verändern, löschen oder durchsuchen können. Die Daten müssen für den späteren Zugriff gespeichert werden.

Dies ist einigermaßen einfach, wenn Sie darüber vor dem Hintergrund der Dinge nachdenken, die wir bisher schon besprochen haben. Wenn Sie dennoch Hinweise wünschen, wie Sie dabei vorgehen können, dann ist hier ein Tipp für Sie.

Tipp (Sie sollten ihn eigentlich nicht lesen).  Erzeugen Sie eine Klasse, um die Informationen der Person zu speichern. Benutzen Sie ein Dictionary, um die Personen-Objekte mit ihrem jeweiligen Namen als Schlüssel zu speichern. Benutzen Sie das pickle-Modul, um die Objekte persistent auf Ihrer Festplatte zu speichern. Benutzen Sie die eingebauten Dictionary-Methoden, um Personen hinzuzufügen, zu löschen und zu ändern.

Wenn Sie dies einmal geschafft haben, können Sie behaupten, ein Python-Programmierer zu sein. Danach sollten Sie mir sofort eine Mail schicken, um sich für dieses großartige Buch zu bedanken ;-) Dieser Schritt ist optional, aber empfohlen.

Hier sind einige weitere Möglichkeiten für Ihre weitere Python-Entdeckungsreise:

Software mit grafischer Oberfläche

GUI-Bibliotheken für Python - Sie brauchen diese, um Ihre eigenen grafischen Benutzeroberflächen (GUIs) zu programmieren. Sie können sich Ihr eigenes IrfanView oder Kuickshow oder irgendetwas in der Art schreiben, indem Sie GUI-Bibliotheken mit ihrer jeweiligen Python-Anbindung benutzen. Eine solche Anbindung ermöglicht es Ihnen, Programme in Python zu schreiben, in denen Sie auf diese Bibliotheken zurückgreifen, die ihrerseits in C oder C++ oder anderen Sprachen geschrieben sind.

Es gibt eine große Auswahl an GUI-Bibliotheken für Python:

  • PyQt.  Dies ist die Python-Anbindung für das Qt-Toolkit, das die Grundlage ist, auf der KDE aufgebaut wurde. Qt ist äußerst einfach zu benutzen und sehr mächtig, besonders aufgrund des Qt-Designers und der hervorragenden Qt-Dokumentation. Sie können es unter Linux kostenlos benutzen, aber Sie müssen es bezahlen, wenn Sie es unter Windows benutzen wollen. PyQt ist frei, wenn Sie freie Software (gemäß der GPL) unter Linux/Unix erstellen, und muss bezahlt werden, wenn Sie proprietäre Software erstellen wollen. Eine gute (englische) Informationsquelle zu PyQt ist "GUI Programming with Python: Qt Edition". Weitere Einzelheiten finden Sie auf der offiziellen PyQt-Website.

  • PyGTK.  Dies ist die Python-Anbindung für das GTK+-Toolkit, das die Grundlage ist, auf der GNOME aufgebaut wurde. GTK+ hat im Gebrauch viele Eigenheiten; wenn Sie aber einmal damit vertraut sind, können Sie schnell GUI-Anwendungen erstellen. Das Werkzeug Glade zum entwerfen der grafischen Schnittstelle ist hierbei unverzichtbar. Die Dokumentation müsste noch verbessert werden. GTK+ läuft gut unter Linux, aber die Portierung auf Windows ist unvollständig. Sie können mit GTK+ sowohl freie als auch proprietäre Software entwickeln. Weitere Einzelheiten finden Sie auf der offiziellen PyGTK-Website.

  • wxPython.  Dies ist die Python-Anbindung für das wxWidgets-Toolkit. Mit wxPython ist eine gewisse Lernkurve verbunden. Es ist jedoch sehr portabel und läuft unter Linux, Windows, Mac und sogar auf Embedded-Systemen. Für wxPython sind viele IDEs verfügbar, darunter DrPython, SPE (Stani's Python Editor), das auch einen GUI-Designer beinhaltet, sowie der GUI-Builder wxGlade. Sie können mit wxPython sowohl freie als auch proprietäre Software entwickeln. Weitere Einzelheiten finden Sie auf der offiziellen wxPython-Website.

  • TkInter.  Dies ist das älteste existierende GUI-Toolkit für Python. Wenn Sie IDLE benutzt haben, dann haben Sie bereits gesehen, wie ein TkInter-Programm aussehen kann. Die Dokumentation für TkInter in der PythonWare-Bibliothek ist umfangreich. TkInter ist portierbar und läuft sowohl unter Linux/Unix als auch unter Windows. Ein wichtiger Vorteil von TkInter ist, dass es Bestandteil der Standard-Distribution von Python ist.

  • Eine weitere Auswahl von grafischen Oberflächen für Python finden Sie auf der Wiki-Seite über GUI-Programmierung auf Python.org.

Zusammenfassung GUI-Tools

Leider gibt es kein Standard-GUI-Tool für Python. Ich schlage vor, dass Sie eines der obigen Toolkits auswählen, je nach Ihrer Situation. Der erste Faktor, den Sie dabei bedenken müssen, ist, ob Sie bereit sind, für das GUI-Tool Geld auszugeben. Der zweite Faktor ist, ob Sie Ihr Programm für Linux oder für Windows oder für beides entwickeln wollen. Der dritte Faktor ist, ob Sie als Linux-Benutzer eher eine Präferenz für KDE oder für GNOME haben.

Zukünftige Kapitel

Ich erwäge, für dieses Buch ein oder zwei Kapitel über GUI-Programmierung zu schreiben. Ich werde wahrscheinlich hierbei wxPython als Toolkit auswählen. Wenn Sie Ihre Ansicht über dieses Thema äußern möchten, dann können Sie dies auf der Byte-of-Python-Mailingliste tun, wo Leser mit mir diskutieren, welche Verbesserungen an dem Buch vorgenommen werden können.