2010-07-26 18 views
11

configuración Quiero una tecla de acceso directo global en Python 2.6 que escucha a la combinación de teclas ctrl + D o ctrl + alt + D en las ventanas, por favor ayúdameEstablecer teclas de acceso rápido global con Python 2.6

+0

Este tema también está cubierto [aquí] [1], sin embargo el uso de Python 3. [1]: http: // stackoverflow. com/questions/16615087/python-how-to-create-a-global-hotkey-on-windows-with-3-arguments/24654577 # 24654577 – Maxxim

Respuesta

3

El método de la clase wx.WindowRegisterHotKey es lo que está buscando - como dicen los documentos,

Registra una sistema de teclas de acceso directo. Cada vez que el usuario presiona la tecla de acceso rápido registrada aquí, esta ventana recibirá un evento de tecla de acceso directo. Recibirá el evento aunque la aplicación esté en segundo plano y no tenga el foco de entrada porque el usuario está trabajando con alguna otra aplicación . Para vincular una función de controlador de eventos a esta tecla de acceso directo, use EVT_HOTKEY con un id igual a hotkeyId. Devuelve Verdadero si la tecla de acceso directo se registró correctamente.

lo tanto, hacer una instancia de `wx.Window, el registro de la tecla de acceso directo que desea con este método, y posiblemente hacer un PushEventHandler si bien ypu'd controlar el evento (s) en un controlador de eventos por separado y no en la ventana misma (esta última es la predeterminada).

¿Hay algo más en este procedimiento que no esté del todo claro para usted ...? Si es así, edite su pregunta para agregar cualquier otro problema que pueda tener.

+0

Dado que RegisterHotKey acepta claves de win32con, esa solución no funcionará para él porque necesita VK_ que está ausente en win32con! – Romeno

0

Si quiere teclas de acceso rápido en su programa wxPython (que supongo que debe hacerlo debido a la etiqueta wxPython), entonces debe usar un wx.AcceleratorTable.

6

Sugiero pyhk. Permite el registro global de teclas rápidas en python y viene con ejemplos y documentación. Pyhk se basa en pyhook.

registro tecla de acceso directo es tan simple como:

pyhk.addHotkey(SomeHotkey,SomeFunction) 
+0

Oye, entonces esa solución funcionará solo para Windows, ¿no? – Romeno

+0

Sí, Windows solo porque está basado en pyhook. – schurpf

Cuestiones relacionadas