Globaler Hot Key

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
blenderman
User
Beiträge: 4
Registriert: Donnerstag 14. Januar 2010, 08:54

Hallo Miteinander,

ich schreibe gerade mein erstes Pythonscript. Die Zielplattform ist Windows. Eine Ausführbare .exe möchte ich auch erstellen. Die größte Hürde ist bisher der globale Hotkey.

Über wxpython:
http://wiki.wxpython.org/RegisterHotKey
http://www.python-forum.de/topic-8648.h ... ght=hotkey

pyfltk Python wrapper für das Fast Light Tool Kit hat auch eine Globale Hotkey Funktion und wäre Plattformübergreifend verfügbar. http://pyfltk.sourceforge.net/docs/fltk ... dd_handler
FL_SHORTCUT If the Fl.focus() widget is zero or ignores an FL_KEYBOARD event then pyFltk tries sending this event to every widget it can, until one of them returns non-zero. FL_SHORTCUT is first sent to the Fl.belowmouse() widget, then its parents and siblings, and eventually to every widget in the window, trying to find an object that returns non-zero. pyFltk tries really hard to not to ignore any keystrokes!

You can also make "global" shortcuts by using Fl.add_handler(). A global shortcut will work no matter what windows are displayed or which one has the focus.
Ist es sinnvoll pyfltk anstatt wx einzubauen? Ist es für die Funktionsweise und Programmgröße der .exe relevant?
CM
User
Beiträge: 2464
Registriert: Sonntag 29. August 2004, 19:47
Kontaktdaten:

Hallo und willkommen im Forum,

was ist denn Dein Ziel? Eine wxPython-Applikation? Was spricht dann gegen die framebezogene wx-Variante? Oder möchtest Du ein Skript ohne GUI? Und worin besteht Deine Hürde?

Für die Funktionsweise ist das insofern relevant, als das wx eben ein GUI-Toolkit ist und Du einen wx.Frame brauchst. (pyfltk kenn ich nicht so recht) Und Dein gepacktes Executable wird natürlich mit jedem eingebundenen Paket größer - mal mehr mal weniger, abhängig von der Paketgröße und der zusätzlichen Abhängigkeiten. Aber das fällt u. U. nicht ins Gewicht, weil der Pythonoverhead an sich schon nicht ohne ist.

Gruß,
Christian
blenderman
User
Beiträge: 4
Registriert: Donnerstag 14. Januar 2010, 08:54

Hallo Christian,

vielen Dank für deine schnelle und klare Antwort. Mein Ziel ist eine Applikation im Hintergrund (ohne Fenster) die auf ein bestimmtes Tastaturkürzel reagiert, den Titel des aktuellen Fensters erfasst und mit aktueller Uhrzeit einen Zeiteintrag bei der webbasierten Zeiterfassung Mite macht. Ist funktionsfertig, es fehlt der globale Hotkey.

Ich möchte das Script kompiliert unter Windows einsetzten. Der Sinn an pyfltk gegenüber wx wäre eine leichtere Portierung für mögliche andere Nutzer des Scriptes.

Eine globale Hotkey Lösung ohne ein GUI-Toolkit fände ich natürlich noch viel besser. Ausserdem bin ich jetzt schon mal gespannt auf meine ersten Py2exe Ergebnisse...

Viele Grüße,
Oli
Antworten