1. Folie:
Hi, nur kurz zu meiner Person; Mein Name ist stealthbrite und ich arbeite eigentlich als Java-Entwickler. Ich werde euch nun einen kurzen Einblick in PySide / PyQt zeigen. Diese sind beide die Python Interfaces fuer Qt.
2. Folie
So, also zunaechst einmal zu den generellen Unterschieden von PySide und PyQt.
PySide steht unter dem Dach vom Qt-Project und ist Open-Source. Hinter Qt-Project steckt die Firma Digia, die ja zuletzt die Rechte von Nokia gekauft hatten. PySide selber wird anscheinend von der Firma openbossa (Erst gestern [12.04] wurden die Maintainer auf der Seite qt-project.org/Maintainers ausgetauscht. John Ehresman von Wingware ist nun der alleinige Verantwortliche) gewartet. PyQt wird von RiverbankComputing entwickelt. Hinter der Firma steck anscheinend nur eine Person. PyQt ist Closed-Source, darf aber unter der GNU GPL verwendet werden. Fuer anderweitige Lizienzierungsmodelle besteht die Moeglichkeit eine kommerzielle Lizenz zu erwerben. Nachdem Nokia die Qt Sourcen unter die LGPL stellte, wollte sie die Firma RiverbankComputing ueberreden das gleiche auch mit PyQt zu tun. Durch diese Ablehnung entstand ueberhaupt erst das PySide-Projekt. PySide steht unter der LGPL. Als Beispiel der Plattformunabhaengigkeit hier mal drei verschiede Screenshot von Spyder, Windows, Linux und Mac.
3. Folie:
Zu den technischen Unterschieden, klar sie verwenden verschiedene Imports. PySide unterstuetzt nur die API 2, welche mehr Pythonic ist. Es gibt Syntaxunterschiede bei der Verwendung der neuen Signal und Slots-Styles und bei den Qt Properties. Verschiede Namen bei den Toolscripts..Unter der angegebenen Quelle sind diese Punkte auch nochmal genauer und ausfuehrlicher Aufgelistet.
4. Folie
Hier der Vollstaendigkeitshalber die Abhaenigkeiten. Zum Stand vom 09.04 funktioniert PySide nach wie vor nur mit Versionen von Qt unter 4.8. (Aktuell wurde gestern Qt 5.0.2 veroeffentlicht und Qt 5.1 Alpha am 8. zur Verfuegung gestellt.)
5. Folie
Nun ans eingemachte...
Alles was man fuer eine PySide App benoetigt ist zum einen
- die imports
- QtCore beinhaltet die Methoden fuer das Handling von Signals und Slots und fuer die Kontrolle der App
- QtGui enthaelt die Funktionen fuer die Widgets.
- Hauptbestandteil ist immer die QApplication. Diese kann auch Argumente von der Command-Line erhalten
- QLabel ist ein Widget, welches Text anzeigen kann, simple und/oder rich
- Mit show() wird der Label dann tatsaechlich erst angezeigt
- mit app_exec() steigt man in den main-loop der Qt App ein.





