elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] Duda con atajo de teclado en una ventana padre creada con wxPython
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] Duda con atajo de teclado en una ventana padre creada con wxPython  (Leído 3,501 veces)
Príncipe_Azul

Desconectado Desconectado

Mensajes: 21


while (1):


Ver Perfil WWW
[Python] Duda con atajo de teclado en una ventana padre creada con wxPython
« en: 1 Marzo 2014, 04:13 am »

Hola amigos, espero que anden bien!!

Bueno les comento que estoy comenzando con interfaz grafica de usuario (GUIs), para eso utilizo el programa wxPython, que bien podria utilizar TKinter, pero me gusta mas wxPython.

Bueno tengo una duda, quisiera saber si es posible utilizar la tecla Esc (Escape) para salir de un programa, osea de una ventana padre, mediante el metodo de ejemplo:

Código:
        quit = wx.MenuItem(file, 105, '&Quit\tCtrl+Q', 'Quit the Application')
        quit.SetBitmap(wx.Bitmap('probar.png'))
        file.AppendItem(quit)

y lo que yo quisiera saber si es posible asignar la tecla de Escape para cerrar un programa al pulsar la misma, por ejemplo algo asi:

Código:
 
quit = wx.MenuItem(file, 105, '&Quit\tEsc', 'Quit the pplication')

tambien pobre asi:

Código:
 
quit = wx.MenuItem(file, 105, '&Quit\tEscape', 'Quit the pplication')

pero ninguno me sirvio, asi que la verdad no se que hacer, no logro poder asigar la tecla de Escape para cerrar el programa.

¿Alguien sería tan amable de ayudarme? Por favor.

Desde ya compañeros muchas gracias y que tengan buen día!!


PD: Les informo a los Administradores que hay 4 caritas que no se ven cuando se escribe un nuevo post, las mismas son:
Código:
:¬¬
Código:
:xD
Código:
;-)
Código:
:silbar:


« Última modificación: 1 Marzo 2014, 04:18 am por Principe_Azul » En línea

Foro de Ayuda de Programación General, IRC y mIRC Scripting: 
Príncipe_Azul

Desconectado Desconectado

Mensajes: 21


while (1):


Ver Perfil WWW
Re: [Python] Duda con atajo de teclado en una ventana padre creada con wxPython
« Respuesta #1 en: 4 Marzo 2014, 08:11 am »

Hola nuevamente !
He podido sacarme la duda gracias a un amigo de un Foro que me ha ayudado!!
Bueno les dejaré aquí el código para poder utilizar la tecla ESCape en una ventana creada con wxPython.
Bueno, antes quiero comentar que he tenido problemas con un código ya que no me funcionaba, pero haciendo pruebas comprobé que si funcionaba a la perfección, sólo que había que hacer clic en algún sector del programa que no sea un control/componente, ya que ahí no se podría ejecutar el evento (sobre un control).
Para poder hacer esto posible se necesitaría crear un evento en cada control, de esa manera si un objeto está enfocado en si mismo, lo mismo se producirá el evento al presionar la tecla ESCape que equivale al código ASCII (char 27).
Bueno aquí les dejo el ejemplo:

Código
  1. self.Bind(wx.EVT_KEY_UP, self.key_up)

Este es el método que se utilizaría para que el evento surja efecto al presionar ESCape.
Pues ahora queda hacer lo mismo para los demás controles, por ejemplo:

Código
  1. self.CheckBox.Bind(wx.EVT_KEY_UP, self.key_up)
  2. self.RadioButton.Bind(wx.EVT_KEY_UP, self.key_up)
  3. self.Button.Bind(wx.EVT_KEY_UP, self.key_up)
  4. self.TextCtrl.Bind(wx.EVT_KEY_UP, self.key_up)

y listo! eso es todo, sólo se debería crear la función key_up como se muestra abajo:

Código
  1. def key_up(self, event):
  2.    event.Skip()
  3.    if event.GetKeyCode() == 27: # Escape
  4.        # Codigo para cerrar tu aplicacion
  5.        self.Close(True)

y ya con eso sólo esperaremos la llamada de algún control para así comprobar que la tecla pulsada sea ESCape, caso afirmativo, se procederá a cerrar la aplicación.
Bueno amigos espero que les haya servido la explicación y el ejemplo.
Gracias igualmente por este espacio y por una posible ayuda.
Hasta pronto!! y Gracias a todos!
Que tengan buen comienzo de semana!!


En línea

Foro de Ayuda de Programación General, IRC y mIRC Scripting: 
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] PyTK vs PyGTK vs PyQT vs wxPython
Scripting
Erik# 3 6,238 Último mensaje 2 Marzo 2009, 19:10 pm
por Shrick
Atajo de teclado WMP? (Reproducir)
Windows
Saberuneko 5 5,582 Último mensaje 27 Mayo 2010, 13:02 pm
por Saberuneko
Atajo de teclado en vnc
GNU/Linux
gAb1 0 2,075 Último mensaje 22 Julio 2013, 16:35 pm
por gAb1
Si se te ha colgado Windows prueba con este atajo de teclado antes de ....
Noticias
wolfbcn 0 1,414 Último mensaje 21 Mayo 2018, 21:35 pm
por wolfbcn
Posicionar ventana hija siempre relativa a la ventana padre.-
Scripting
El mas antiguo 2 3,503 Último mensaje 17 Agosto 2022, 14:34 pm
por El mas antiguo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines