我在玩gtkD(GTK+ 的 D 绑定)
我有一个window
对象,实例gtk.MainWindow
。我想处理它的按键。
- 如何?
- 如何处理特殊键(例如箭头键、pgup/pgdn 等)?
PS我知道这类问题可以用谷歌和其他东西来回答,但我在stackoverflow上看到了很多“更简单”的问题,所以我认为提问并没有什么坏处。
另外,有时,基本的东西往往会被隐藏在文档页面下。
这是可能有帮助的示例代码
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);