blog/templates/month_archive.htm - header
12.05.2011 22:34:00

Python und GUI

Letztlich wieder etwas Python programmiert und dabei wieder etliche interessante Seiten im Netz gefunden.

Was ich am Schluss tatsächlich programmieren wollte, war ein Wallpaper-Changer, der regelmäßig ein Bild aus meiner Wallpaper-Sammlung auf den Hintergrund packt. Optimalerweise mit einigen kleinen Features wie z.B. einem Business-Modus, bei dem ein spezieller Hintergrund dargestellt wird, und vor allem der Möglichkeit, die Bilder irgendwie zu bewerten, so dass bessere Bilder öfter dargestellt werden. Was soll ich sagen, das Tool ist erstmal funktionabel und wird in kürze unter GPL hier zur Verfügung gestellt. Allerdings muss ich erst noch ein paar Kleinigkeiten aufräumen und das ganze noch dokumentieren.

Implementiert habe ich den ganzen Spass wie gesagt in Python, wobei ich das erste Mal auch etwas GUI-Programmierung durchgeführt habe. Dabei habe ich mich mit zwei GUI-Toolkits auseinandergesetzt: tkinter sowie wxpython. Meine Hoffnung war, dass ich mit tkinter auskommen könnte, da dies bei allen Python-Installationen vorhanden ist und damit auch unter Linux, Mac und Windows funktioniert. Leider ist tkinter nicht mächtig genug um alle meine Forderungen zu erfüllen. Vor allem wollte ich das Tool als Icon in der TaskBar darstellen. Nach einigem rumsuchen bin ich dann auf das Toolkit wxpython gestossen, dass entsprechende Funktionalitäten zur Verfügung stellt. Grundsätzlich habe ich das Gefühl, das wxpython einfacher zu implementieren ist, wie tkinter. Leider auch hier Einschränkungen: Unter MacOSX momentan nicht ohne weiteres installierbar. In der aktuell stabilen Version unter Snow Leopard (64bit) muss man die entsprechende Python-Applikation wie folgt starten:

$ arch -i386 python bgchanger.py

Dies ist leider nötig, da die drunterliegende wxwidgets-Library offensichtlich nur in 32bit zur Verfügung steht. (Zumindestens, wenn man das ganze auf dem Mac per macports installiert.)

Langer Rede, kurzer Sinn: GUI-Programmierung in Python ist einfach und schnell umsetzbar. Leider muss man sich mit diversen Einschränkungen rumschlagen. So gibt es z.B. keine einfache Library, um unter Ubuntu den neuen NotificationTray (die neue Taskbar) zu nutzen. Hierzu müssten man sich wohl mit gtk-Libraries anfreunden, die allerdings ziemlich schlecht dokumentiert sind. Zumindestens habe ich keine einfachen Dokumentationen zu dem Thema gefunden.

Beim Programmieren mit Python in meinem Lieblingseditor vim ist mir aber folgende Seite aufgefallen:

Turning vim into a modern python ide

Liest sich sehr interessant und sind auch sehr interessante Plugins dabei. Die Nutzung von git mit Submodulen war mir zwar schon bekannt, aber die Kombination einiger Plugins ist interessant zu lesen und gibt Punkte zum Nachdenken.

Entsprechende Blogeinträge zur Einrichtung von vim zur Programmierung von PHP gibt es natürlich auch zuhauf. Eine sehr interessante ist die folgende:

Howto setup vim ide for php development

Was man aus diesen Seiten raus nimmt muss wohl jeder selbst entscheiden. Aber allein das durchlesen und verstehen der .vimrc-Dateien andere User bringt einen auf die interessantesten Sachen. vim ist einfach unglaublich flexibel.

Wie gesagt, hier in Kürze mein Wallpaper-Changer. Vermutlich der inzwischen hunderste. Aber ich denke doch, mit einem speziellen Feeling. :)


Erstellt von Jerri | Permalink | Kategorie: python, interessant, vim | Kommentare