Domanda

Sto giocando intorno con gtkD (associazione di un D per GTK +)

Ho un oggetto window, istanza di gtk.MainWindow. Voglio gestire le pressioni dei tasti su di esso.

  • Come?
  • Come faccio a trattare con tasti speciali (ad esempio i tasti freccia, PgSu / PgGiù ecc)?

PS So che questo tipo di domande si può rispondere con Google e roba, ma ho visto molto domande "semplici" a StackOverflow, così ho pensato che chiede non fa male.

Inoltre, a volte, le cose di base tendono ad essere sepolto sotto pagine di documentazione.

È stato utile?

Soluzione

Ecco il codice di esempio che può aiutare

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);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top