Pregunta

Estoy jugando con gtkD (unión de una D para GTK +)

Tengo un objeto window, instancia de gtk.MainWindow. Quiero manejar las pulsaciones de teclas en él.

  • ¿Cómo?
  • ¿Cómo puedo lidiar con teclas especiales (por ejemplo, teclas de flecha, adelante / atrás, etc)?

PS Sé que este tipo de preguntas pueden ser contestadas con Google y demás, pero he visto mucho más simples preguntas "" en la stackoverflow, por lo que pensé que pide no hace daño.

Además, a veces, las cosas básicas tienden a ser enterrado debajo de páginas de documentos.

¿Fue útil?

Solución

Aquí es código de ejemplo que puede ayudar

import gdk.Keysyms; //keys enums are defined here

private void func(Button sender)
{
    //button pressed
}

but.addOnClicked(&func);

private bool func2(GdkEventKey* ev, Widget sender)
{
    if(ev.keyval == GdkKeysyms.GDK_Tab) 
        return true; //we handle Tab ourselves and prevents default behaviour
    else
        return false; //we didnt handle it so gtk does default behaviour
}

win.addOnKeyPress(&func2);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top