• Publicidad

Detectar tecla Entrar en Tk

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Detectar tecla Entrar en Tk

Notapor BigBear » 2012-02-25 16:51 @743

Hola. Tengo el siguiente código:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. #!usr/bin/perl
  2.  
  3. use Tk;
  4.  
  5. my $ve = MainWindow->new();
  6. $ve->geometry("300x600+20+20");
  7. $ve->resizable(0,0);
  8. $ve->title("Test");
  9.  
  10. my $body = $ve->Text()->place(-x=>50,-y=>50);
  11. $body->insert("end",">");
  12.  
  13. $ve->bind($body,"<Enter>"=> sub {
  14. print "yeah\n";
  15. });
  16.  
  17. MainLoop;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4


El problema es que me aparece yeah a cada momento, y solo me tendría que aparecer cuando le dé el enter.

¿ Alguien me puede ayudar a corregir el código ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818

Publicidad

Re: Detectar tecla Entrar en Tk

Notapor irving » 2012-02-25 17:31 @772

Podrías usar:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. $ve->bind($body,"<Key-Return>"=> sub {
  2.    print "yeah\n";
  3. });
  4.  
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Búscame en twitter
Avatar de Usuario
irving
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2012-02-23 16:01 @709
Ubicación: Chiclayo, Lambayeque, Perú

Re: Detectar tecla Entrar en Tk

Notapor explorer » 2012-02-25 17:40 @778

El evento <Enter> se refiere a cuando el ratón entra dentro del widget.

El evento de la tecla Entrar es con <Key-Return>.

Más detalles.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Detectar tecla Entrar en Tk

Notapor BigBear » 2012-02-25 18:30 @812

Gracias por la ayuda a los dos: Ahora me quedo así:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
  1. use Tk;
  2.  
  3. my $ve = MainWindow->new();
  4. $ve->geometry("300x600+20+20");
  5. $ve->resizable(0,0);
  6. $ve->title("Test");
  7.  
  8. my $body = $ve->Text()->place(-x=>50,-y=>50);
  9. $body->insert("end","<controltotal>");
  10.  
  11. $ve->bind($body,"<Key-Return>"=> sub {
  12.  
  13. $body->insert("end","\n\n<controltotal>");
  14.  
  15. $text = $body->get( "1.0", "end" );
  16. chomp $text;
  17.  
  18. $body->insert("end","\n$text");
  19.  
  20. });
  21.  
  22.  
  23. MainLoop;
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Mi idea es poder capturar el último comando escrito de controltotal, algo así como funcionan las consolas MSDOS o la de Linux, para después mostrar el último contenido en la misma tabla.
El problema es que no se como hacerlo.

¿ Alguien me puede ayudar ?
BigBear
Perlero frecuente
Perlero frecuente
 
Mensajes: 981
Registrado: 2009-03-01 18:39 @818


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 33 invitados