Manipulação de teclas pressionadas no GTK + (gtkD)
-
05-09-2019 - |
Pergunta
Eu estou brincando com gtkD (uma ligação para GTK + D)
Eu tenho um objeto window
, instância de gtk.MainWindow
. Eu quero lidar com keypresses nele.
- Como?
- Como faço para lidar com teclas especiais (por exemplo, teclas de seta, PgUp / PgDn etc)?
PS Eu sei que esses tipos de perguntas podem ser respondidas com o Google e outras coisas, mas eu vi muito mais perguntas "mais simples" na stackoverflow, então achei pedindo não dói.
Além disso, às vezes, as coisas básicas tendem a ser enterrado sob páginas de documentação.
Solução
Aqui está o código de exemplo que pode ajudar
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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow