Python@Win: Trayicon
In Python führen ab und an auch mehrere Wege nach Rom, zum Beispiel die erzeugung eines TrayIcons. Man kann es mit wxWidgets machen, mit PyGTK oder einfach mit der passenden pySysTray Klasse.
Dies geht ganz einfach, zuerst müsst ihr pySysTray herunterladen und installieren. Danach dann einfach:
# Systray importieren
from systray import systray
# Namen zuweisen und starten.
st_sample = systray.App(‘Anwendungsname’, ’smile.ico’)
st_sample.start()
Zack => Geht. Sogar der Quit Button wird automatisch angelegt.
sehr nett das…
Python wird mir eh immer sympathischer, wenn das so weiter geht setz ich bald nichts anderes mehr ein. Funzt ja auch für ziemlich alles, Webdesign (Google appengine), lokale Anwendungen, portable Anwendungen (Windoof/Linux-Wechsel is kein Thema) und scheint mir nichtmal sonderlich langsam zu sein.
Ja das stimmt, langsam ist es wirklich nicht. Ich portiere gerade meine erste .NET Anwendung nach Python. Die NET-Anwendung macht gebrauch von div. Libs wie SharpSSH (für sFTP), Log4NET (fürs Logging), das ganze habe ich aber fast schon in Python ohne 3. Anbieter. Allein der Overhead der nichtmehr beim Laden auftritt ist spürbar.
Bis meine NET-Anwendung das TrayIcon geladen hatte und anfing zu “arbeiten” vergingen um die 2-3 Sekunden. Meine Python-Anwendung konnt ich bisher noch nicht messen da nach dem ausführen das Icon sofort da war. Einfach zu fix um auf die Uhr zu schauen.
Da es eine reine Winapp werden soll (liegt an der AccessDB und dem WAWI was daran angebunden ist), wollte ich zuerst über win32com auf die Datenbank zugreifen, ich Narr… viel einfacher war es pyodbc zu verwenden. So bin ich nicht an bestimmte COM-Versionen gebunden. Geschweige denn an die Windows-Versionen.
Alleine um NET auf einem Windows 2000 Server verfügbar zu machen musste ich von NET 3.0 auf 2.0 runter, dann noch DAO installieren…. NET installieren … updaten .. ganz ehrlich, mag man soetwas seinem Kunden auf einem Server zumuten? Mit Py2Exe kann man sogar das ganze in eine einfache EXE-Anwendung packen und vertreiben.
Meiner Meinung nach, perfekt.
I LOVE Python