Zwischendrin
pbouda am 29. Dez 16:47
In letzter Zeit war es hier leider recht ruhig, Arbeit und andere Aktivitäten hielten mich weitgehend vom Posten ab. Das soll sich ab jetzt aber wieder ändern. Hier erst einmal ein kleiner Zwischenbericht, was in letzter Zeit so passiert ist:
- Ich war bei der Codebits in Lissabon. Eine sehr feine Veranstaltung rund um einen 48-Stunden-Programmierwettbewerb. Wobei es eher um die Kreativität geht als um Code-Qualität oder Ähnliches. Und dieses Jahr haben wir den ersten Preis gewonnen! Hingefahren bin ich mit einer groben Idee, zurück kam ich dann mit einem Haufen Technik. Ich hatte aber auch großartige Unterstützung von Pedro und Rosana, die ich erst bei der Veranstaltung kennengelernt habe und die zusammen mit mir das Lego-Coding-Team gebildet haben. Danke an alle! Und vielleicht gibt's hier bald mehr über das Projekt zu berichten...
- Mein erstes Buch ist fertig! PyQt und PySide. GUI- und Anwendungsentwicklung mit Python und Qt
. Gibt es ab Januar in jedem gut sortiertem Buchladen. Mit zahlreichen Highlights über die GUI-Entwicklung mit Python, PyQt und PySide wie eine komplette Einführung in QML und die Anwendungspaketerstellung für Linux und Windows. Wer schon immer einmal wissen wollte, wie man Anwendungen samt Installer plattformunabhängig entwickelt, der sollte sich das Werk unbedingt zulegen.
Soweit erst einmal für heute. Ich wünsche allen Lesern einen guten Rutsch ins Neue Jahr 2012!
Processing in Javascript in QML in Python
pbouda am 05. Sep 12:31
Es gibt gute und vernünftige Gründe, warum man Desktop-Anwendungen mit Python und PySide entwickeln sollte. Aber man kann damit einfach auch nur Spaß haben. Diesen hatte ich auch, letzte Woche. Und das ist daraus geworden:
https://github.com/pbouda/Process-
Eine Processing-Variante auf Javascript-Basis, die in einer QML-Webkit-Komponente läuft, die wiederum von Python geladen wird. Viel Spaß damit!
Erstes Release von PySide Mobility
pbouda am 23. Aug 18:00
Ist zwar schon etwas her, hier wurde es aber noch nicht vermeldet: Eine erste Version (0.1.0) der PySide-Bindings von Qt Mobility wurde veröffentlicht. Auch auf dem N900 in extras-devel verfügbar. Hoffentlich geht's weiter so voran mit PySide, und Nokia sollte bald Python-Anwendungen für Maemo im Ovi Store erlauben.
Benchmarks für PySide
pbouda am 12. Mai 18:15
Mit der Veröffentlichung von PySide 0.3 vor einigen Wochen wurde und auch ein Benchmark versprochen. Jetzt ist er online, der Vergleich von PySide 0.2, PySide 0.3 und natürlich auch PyQt4 jeweils auf dem Desktop und dem N900: an dieser Stelle verweise ich einfach ohne Umschweife darauf. Die Entwickler scheinen auf einem guten Weg zu sein, die Abkehr von Boost war sicherlich eine späte, aber weise Entscheidung. Vor allem, wenn man bedenkt, dass das Ganze ja auch auf dem N900 (und Nachfolgern) laufen soll. Bin gespannt, wann sie dann PyQt einholen.
Technische Vorschau auf PySide-Shiboken
pbouda am 24. Mär 19:17
Heute wurde eine technische Vorschau auf Shiboken-PySide veröffentlicht. Shiboken ist eine von den PySide-Entwicklern ins Leben gerufene Umgebung zur Erstellung von Python-Bindings für C++-Bibliotheken. Zunächst wurden die PySide-Bindings per Boost.Python erstellt, das offizielle Release von PySide nutzt immer noch diese. Da Boost.Python die Bibliotheken jedoch unnötig aufbläht, begannen die PySide-Entwickler mit der Entwicklung von Shiboken. Einer der Entwickler hat darüber eine interessanten Blogeintrag geschrieben. Es gibt immer noch einige Diskussionen über die Vorteile von PyQt4 gegenüber PySide, letzteres holt aber kräftig auf und wenn ich wetten dürfte: wird irgendwann PyQt4 obsolet machen.
Neues Tutorial: Wie man ein Python- oder PySide-Projekt für Maemo erstellt
pbouda am 23. Mär 19:39
Ab sofort ist das erste Python-Tutorial zur Anwendungsentwickung für Maemo und das N900 auf mobileqt.de online:
Wie man ein Python- oder PySide-Projekt für Maemo erstellt
Am Beispiel einer kleinen PySide-Anwendung wird gezeigt, wie ihr eure Python-Anwendungen aufbauen und verpacken müsst, damit sie auf dem N900 installiert werden können. Für alle, die nicht in die Untiefen der Qt/C++-Programmierung einsteigen wollen ist Python eine leichte und schnelle Alternative. Die Hautpdatei der Beispielanwendung habe ich übrigens komplett mit dem PyGTKEditor auf dem N900 entwickelt.
Processing auf dem N900
pbouda am 20. Mär 12:28
Processing ist eine Java-basierte Programmiersprache, die bisher vor allem im Computerkunstbereich eingesetzt wird und sich dort wegen ihrer einfachen Erlernbarkeit und einer hervorragenden Grafikbibliothek großer Beliebtheit erfreut. Aber auch im Embedded-Bereich wird Processing z.B. Schaltungen mit dem Mikrokontroller Arduino verwendet. Und es macht Spaß.
Vor kurzem hat nun Jayesh Salvi eine Website mit einer Javascript-Processing-Umgebung veröffentlicht. Die Beispiele auf der Website funktionieren alle recht gut auch auf dem N900, ich hatte aber Probleme mit den Mouse-Events. In den von mir getesteten Browsern (MicroB, Midori, Firefox) konnte ich keine vernünftigen Toucheingaben machen, weil meist der Browser diese Eingaben abfängt um z.B. den Bildschirm zu scrollen. Am Besten funktionierte es mit Midori, der eine WebKit-Engine verwendet. Also habe ich ein kleines PySide-Skript geschrieben, dass mir nur die die Processing-Umgebung unter "http://p.altcanvas.com/" öffnet und den MicroB-UserAgent-String schickt:
# This code is public domain
import sys
from PySide import QtGui, QtWebKit, QtCore
def main():
app = QtGui.QApplication(sys.argv)
QtGui.QApplication.setApplicationName("Processing")
MainWindow = QtWebKit.QWebView()
page = MyWebPage()
MainWindow.setPage(page)
MainWindow.show()
MainWindow.load(QtCore.QUrl("http://p.altcanvas.com/"))
sys.exit(app.exec_())
class MyWebPage(QtWebKit.QWebPage):
def __init__(self):
QtWebKit.QWebPage.__init__(self)
def userAgentForUrl(self, url):
return "Mozilla/5.0 (X11; U; Linux armv7l; de-DE; rv:1.9.2a1pre) Gecko/20091127 Firefox/3.5 Maemo Browser 1.5.6 RX-51 N900"
main()
Und siehe da: MouseClicked- und MouseDragged-Events funktionieren auf dem N900 einwandfrei! Ich habe auf der Website ein Projekt namens "touch" freigegeben, dieses könnt ihr in der "Gallery" ausprobieren. Damit das Python-Skript auf dem N900 läuft müsst ihr das Paket "pyside-qt4-webkit" aus "extras-devel" installieren. Ihr könnt das Skript auch auf dem Desktop starten und seht so, wie sich das Processing-Programm auf dem N900 verhalten wird. Entwickeln könnt ihr ganz einfach auf der Website im Desktop-Browser.
Hier ein kleines Screen-Video:
Das Python-Skript könnt ihr auch hier herunterladen.


