Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einleitung
2 Überblick über Python
3 Die Arbeit mit Python
4 Der interaktive Modus
5 Grundlegendes zu Python-Programmen
6 Kontrollstrukturen
7 Das Laufzeitmodell
8 Basisdatentypen
9 Benutzerinteraktion und Dateizugriff
10 Funktionen
11 Modularisierung
12 Objektorientierung
13 Weitere Spracheigenschaften
14 Mathematik
15 Strings
16 Datum und Zeit
17 Schnittstelle zum Betriebssystem
18 Parallele Programmierung
19 Datenspeicherung
20 Netzwerkkommunikation
21 Debugging
22 Distribution von Python-Projekten
23 Optimierung
24 Grafische Benutzeroberflächen
25 Python als serverseitige Programmiersprache im WWW mit Django
26 Anbindung an andere Programmiersprachen
27 Insiderwissen
28 Zukunft von Python
A Anhang
Stichwort

Download:
- ZIP, ca. 4,8 MB
Buch bestellen
Ihre Meinung?

Spacer
 <<   zurück
Python von Peter Kaiser, Johannes Ernesti
Das umfassende Handbuch - Aktuell zu Python 2.5
Buch: Python

Python
gebunden, mit CD
819 S., 39,90 Euro
Galileo Computing
ISBN 978-3-8362-1110-9
Pfeil 24 Grafische Benutzeroberflächen
  Pfeil 24.1 Toolkits
  Pfeil 24.2 Einführung in PyQt
    Pfeil 24.2.1 Installation
    Pfeil 24.2.2 Grundlegende Konzepte von Qt
  Pfeil 24.3 Entwicklungsprozess
    Pfeil 24.3.1 Erstellen des Dialogs
    Pfeil 24.3.2 Schreiben des Programms
  Pfeil 24.4 Signale und Slots
  Pfeil 24.5 Überblick über das Qt-Framework
  Pfeil 24.6 Zeichenfunktionalität
    Pfeil 24.6.1 Werkzeuge
    Pfeil 24.6.2 Koordinatensystem
    Pfeil 24.6.3 Einfache Formen
    Pfeil 24.6.4 Grafiken
    Pfeil 24.6.5 Text
    Pfeil 24.6.6 Eye-Candy
  Pfeil 24.7 Model-View-Architektur
    Pfeil 24.7.1 Beispielprojekt: Ein Adressbuch
    Pfeil 24.7.2 Auswählen von Einträgen
    Pfeil 24.7.3 Editieren von Einträgen
  Pfeil 24.8 Wichtige Widgets
    Pfeil 24.8.1 QCheckBox
    Pfeil 24.8.2 QComboBox
    Pfeil 24.8.3 QDateEdit
    Pfeil 24.8.4 QDateTimeEdit
    Pfeil 24.8.5 QDial
    Pfeil 24.8.6 QDialog
    Pfeil 24.8.7 QGLWidget
    Pfeil 24.8.8 QLineEdit
    Pfeil 24.8.9 QListView
    Pfeil 24.8.10 QListWidget
    Pfeil 24.8.11 QProgressBar
    Pfeil 24.8.12 QPushButton
    Pfeil 24.8.13 QRadioButton
    Pfeil 24.8.14 QScrollArea
    Pfeil 24.8.15 QSlider
    Pfeil 24.8.16 QTableView
    Pfeil 24.8.17 QTableWidget
    Pfeil 24.8.18 QTabWidget
    Pfeil 24.8.19 QTextEdit
    Pfeil 24.8.20 QTimeEdit
    Pfeil 24.8.21 QTreeView
    Pfeil 24.8.22 QTreeWidget
    Pfeil 24.8.23 QWidget

»What you see is all you get« – Brian Kernighan

24 Grafische Benutzeroberflächen

Nachdem wir uns bisher ausschließlich mit schlichten Konsolenanwendungen beschäftigt haben, kann das Kribbeln in den Fingern und damit der Schritt zur grafischen Benutzeroberfläche nicht mehr länger unterdrückt werden. Im Gegensatz zur textorientierten Oberfläche von Konsolenanwendungen sind Programme mit grafischer Oberfläche intuitiver zu bedienen, grafisch ansprechender und werden im Allgemeinen als moderner empfunden. Die grafische Benutzeroberfläche eines Programms, auch GUI (Graphical User Interface) genannt, besteht zunächst aus sogenannten Fenstern (engl. Windows). Innerhalb dieser Fenster lassen sich beliebige sogenannte Steuerelemente, häufig auch Widgets oder Controls genannt, platzieren. Unter Steuerelementen versteht man einzelne Bedieneinheiten, aus denen sich die grafische Benutzeroberfläche als Ganzes zusammensetzt. So ist beispielsweise ein Button (dt. Schaltfläche) oder ein Textfeld ein Steuerelement.

Sowohl die Terminologie als auch die Implementierung einer grafischen Oberfläche hängt sehr stark davon ab, welche Bibliothek, auch Toolkit genannt, verwendet wird. Aus diesem Grund werden wir zunächst allgemein verschiedene Toolkits auflisten, die mit Python verwendet werden können, und erst im zweiten Abschnitt zur eigentlichen Programmierung einer grafischen Benutzeroberfläche kommen.


Galileo Computing - Zum Seitenanfang

24.1 Toolkits  topZur vorigen Überschrift

Unter einem Toolkit versteht man, wie bereits gesagt, eine Bibliothek, mit deren Hilfe sich Programme mit grafischer Benutzeroberfläche erstellen lassen. Neben einigen plattformabhängigen Toolkits, beispielsweise den MFC (Microsoft Foundation Classes) für Windows, sind gerade im Zusammenhang mit Python plattformunabhängige Toolkits wie Qt, Gtk oder wxWidgets interessant. Diese Toolkits sind zumeist für C (Gtk) oder C++ (Qt, wxWidgets) geschrieben, lassen sich jedoch durch sogenannte Bindings auch mit Python ansprechen. Im Folgenden sollen die wichtigsten Python-Bindings für GUI-Toolkits aufgelistet und kurz erläutert werden.

Tkinter

Website: http://wiki.python.org/moin/TkInter

Toolkit: Tk

Das Toolkit Tk wurde ursprünglich für die Sprache Tcl (Tool Command Language) entwickelt und ist das einzige Toolkit, das in der Standardbibliothek Pythons enthalten ist. Das Modul Tkinter (Tk interface) erlaubt es, Tk-Anwendungen zu schreiben, und bietet damit eine interessante Möglichkeit, kleinere Anwendungen mit einer grafischen Benutzeroberfläche zu versehen, für die der Benutzer später keine zusätzlichen Bibliotheken installieren muss. Besonders hervorzuheben ist die gute Unicode-Unterstützung des Tk Toolkits. Das Modul Tkinter ist in der Standardbibliothek nicht unumstritten und wird allgemein eher zur Entwicklung kleinerer Anwendungen eingesetzt.

Aus diesem Grund haben wir uns dagegen entschieden, das Modul Tkinter in diesem Buch zu beschreiben, sondern dem Qt-Framework den Vorrang gewährt. Wenn Ihr Interesse an Tkinter geweckt wurde, finden Sie auf der angegebenen Website und in der Python-Dokumentation genügend Informationen, um schnell gute Resultate erzielen zu können.

Ein Beispiel für ein Tk-Programm ist die Entwicklungsumgebung IDLE, die jeder Python-Version beiliegt.

PyGtk

Website: http://www.pygtk.org

Toolkit: Gtk

Das Toolkit Gtk (GIMP Toolkit) wurde ursprünglich für das Grafikprogramm GIMP entwickelt und zählt heute neben Qt zu den am meisten verbreiteten plattformübergreifenden Toolkits. Sowohl das Toolkit selbst als auch die Python-Bindings PyGtk stehen unter der GNU Lesser General Public License und können frei heruntergeladen und verwendet werden.

Das Gtk-Toolkit ist die Grundlage der freien Desktop-Umgebung GNOME und erfreut sich daher, gerade unter Linux-Anwendern, einer hohen Beliebtheit. Obwohl es eigentlich für C geschrieben wurde, ist Gtk von Grund auf objektorientiert und kann somit gut mit Python verwendet werden.

Beachten Sie, dass ebenfalls Python-Bindings für die Bibliotheken der Desktop-Umgebung Gnome existieren. Diese heißen PyGnome. Mit diesen Bindings können Sie spezielle Features von Gnome nutzen und Ihre Anwendung somit perfekt in die Gnome-Umgebung integrieren.

PyQt

Website: http://www.riverbankcomputing.co.uk/pyqt

Toolkit: Qt

Bei Qt handelt es sich um ein umfassendes Framework, das von der norwegischen Firma Trolltech entwickelt wird und sowohl ein GUI-Toolkit als auch viel GUI-fremde Funktionalität enthält. Das durch und durch objektorientierte C++-Framework ist die Basis der freien Desktop-Umgebung KDE (K Desktop Environment) und aus diesem Grund ähnlich verbreitet und beliebt wie das Gtk-Toolkit. Sowohl Qt selbst als auch die Python-Bindings sind unter einem dualen Lizenzsystem erhältlich. Solange Sie Ihre Software unter einer freien Lizenz, beispielsweise der GPLv2, veröffentlichen, stehen Qt und PyQt unter der GPL. Für den kommerziellen Gebrauch muss eine Lizenzgebühr entrichtet werden. Qt wird für viele kommerzielle Projekte verwendet, darunter zum Beispiel Google Earth, Skype oder Opera.

Da Qt einerseits sehr mächtig ist und andererseits eine wirklich konsequente und gut strukturierte objektorientierte API bereitstellt, werden wir uns im folgenden praxisorientierten Einstieg in die Programmierung grafischer Benutzeroberflächen auf Qt bzw. PyQt beziehen.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






 <<   zurück
  
  Zum Katalog
Zum Katalog: Python
Python
bestellen
 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchtipps
Zum Katalog: Einstieg in Python






 Einstieg in Python


Zum Katalog: Silverlight 4






 Silverlight 4


Zum Katalog: Python 3






 Python 3


Zum Katalog: JavaScript






 JavaScript


Zum Katalog: jQuery






 jQuery


Zum Katalog: CSS






 CSS


Zum Katalog: Einstieg in XML






 Einstieg in XML


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Galileo Press 2008
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de