分页: 1 / 2
gtkmm下屏敝button的键盘事件
发表于 : 2009-01-19 10:52
由 lerosua
ee提出的问题,一个窗口,里面一个按钮,想要按钮不接收任何键盘事件事件。
默认状态下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);
m_button就是那个按钮对象。
以上只是代码片断。相信ee能看明白。我只是随便找了个示例代码改了改,再上传一下,看看 就明白了。
Re: gtkmm下屏敝button的键盘事件
发表于 : 2009-01-19 10:54
由 lerosua
占自己沙发
Re: gtkmm下屏敝button的键盘事件
发表于 : 2009-01-19 11:23
由 eexpress
有效啊。

Re: gtkmm下屏敝button的键盘事件
发表于 : 2009-01-19 11:37
由 lerosua
主窗体重载 on_key_press_event(GdkEventKey* ev),
然后返回true,
就可屏敝所有的子控件的键盘事件了
Re: gtkmm下屏敝button的键盘事件
发表于 : 2009-01-19 14:17
由 eexpress
新方法:
gboolean on_window1_key_press_event(GdkEvent *ev)
把return false都改true。直接就可以了。
pW->signal_event().connect(sigc::ptr_fun(&on_window1_key_press_event));
Re: gtkmm下屏敝button的键盘事件
发表于 : 2009-01-19 14:32
由 lerosua
ee总有太特殊的需求~

Re: gtkmm下屏敝button的键盘事件
发表于 : 2009-01-20 18:34
由 xihe
ee 用gtkmm 简直是糟蹋C++.
Re: gtkmm下屏敝button的键盘事件
发表于 : 2009-01-20 19:02
由 lerosua
xihe 写了:ee 用gtkmm 简直是糟蹋C++.
顶这句
Re: gtkmm下屏敝button的键盘事件
发表于 : 2009-01-20 20:40
由 eexpress
确实,又来一个短名的马甲。呵呵。
我就糟蹋怎么样啊。本来就不喜欢++。
我的方向是C--。连库都不用的那种。不像你们喜欢挥霍的啊。
Re: gtkmm下屏敝button的键盘事件
发表于 : 2009-01-20 21:07
由 lerosua
c++都叫挥霍,那用java,python, c#的人叫啥~
Re: gtkmm下屏敝button的键盘事件
发表于 : 2009-01-20 22:15
由 eexpress
哎。我以前的编程,就算是C,都要看结果的汇编代码的啊。经常盘算怎样把一个语法写到最小代码开销的。
一个printf scanf 类的,从来不碰的,数据格式都自己转。
思路不同而已。
打倒更挥霍的 java python c sharp
Re: gtkmm下屏敝button的键盘事件
发表于 : 2009-01-20 23:20
由 anticlockwise
eexpress 写了:哎。我以前的编程,就算是C,都要看结果的汇编代码的啊。经常盘算怎样把一个语法写到最小代码开销的。
一个printf scanf 类的,从来不碰的,数据格式都自己转。
思路不同而已。
打倒更挥霍的 java python c sharp
打倒ee~~
Re: gtkmm下屏敝button的键盘事件
发表于 : 2009-01-21 8:19
由 xihe
回EE:
我对你的评论源于 lerosua 在4楼的帖子,和你在5楼的评论。
同样一个功能, lerosua 用虚函数实现,你竟然用 信号.槽 调用。
你说哪个省资源。
Re: gtkmm下屏敝button的键盘事件
发表于 : 2009-01-21 8:55
由 lerosua
xihe 写了:回EE:
我对你的评论源于 lerosua 在4楼的帖子,和你在5楼的评论。
同样一个功能, lerosua 用虚函数实现,你竟然用 信号.槽 调用。
你说哪个省资源。
难得 xihe出来点评~ 要支持
Re: gtkmm下屏敝button的键盘事件
发表于 : 2009-01-21 22:20
由 eexpress
不就是挥霍吗。用高级高级语言的家伙,没见几个关心最佳方法的,都是只关心结果的。何况我不是使用高级高级语言的。
另外,我用全局变量的,估计你们也不用。想想一个全局变量带来的节约有多少吧。50%的代码吧。