默认状态下button是接收entry和space两个键盘事件的。
我能想的办法只能是重载默认的接收信号的函数,让它不起效,从而起到屏弊键盘事件的作用。
在头文件里声明一个 信号函数
代码: 全选
bool mask_key(GdkEventKey* ev);
代码: 全选
bool Buttons::mask_key(GdkEventKey* ev)
{
printf("nothing \n");
return true;
}
代码: 全选
m_button.signal_key_press_event().connect(sigc::mem_fun(*this,&Buttons::mask_key));
m_button.set_events(Gdk::KEY_PRESS_MASK);
以上只是代码片断。相信ee能看明白。我只是随便找了个示例代码改了改,再上传一下,看看 就明白了。