当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 17 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : gtkmm下屏敝button的键盘事件
帖子发表于 : 2009-01-19 10:52 
头像

注册: 2007-11-29 9:41
帖子: 8455
送出感谢: 0 次
接收感谢: 0 次
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能看明白。我只是随便找了个示例代码改了改,再上传一下,看看 就明白了。


附件:
button.tar.gz [28.01 KiB]
被下载 57 次
页首
 用户资料  
 
2 楼 
 文章标题 : Re: gtkmm下屏敝button的键盘事件
帖子发表于 : 2009-01-19 10:54 
头像

注册: 2007-11-29 9:41
帖子: 8455
送出感谢: 0 次
接收感谢: 0 次
占自己沙发


页首
 用户资料  
 
3 楼 
 文章标题 : Re: gtkmm下屏敝button的键盘事件
帖子发表于 : 2009-01-19 11:23 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
有效啊。 :em05


_________________
● 鸣学


页首
 用户资料  
 
4 楼 
 文章标题 : Re: gtkmm下屏敝button的键盘事件
帖子发表于 : 2009-01-19 11:37 
头像

注册: 2007-11-29 9:41
帖子: 8455
送出感谢: 0 次
接收感谢: 0 次
主窗体重载 on_key_press_event(GdkEventKey* ev),
然后返回true,
就可屏敝所有的子控件的键盘事件了


页首
 用户资料  
 
5 楼 
 文章标题 : Re: gtkmm下屏敝button的键盘事件
帖子发表于 : 2009-01-19 14:17 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
新方法:
gboolean on_window1_key_press_event(GdkEvent *ev)
把return false都改true。直接就可以了。

pW->signal_event().connect(sigc::ptr_fun(&on_window1_key_press_event));


_________________
● 鸣学


页首
 用户资料  
 
6 楼 
 文章标题 : Re: gtkmm下屏敝button的键盘事件
帖子发表于 : 2009-01-19 14:32 
头像

注册: 2007-11-29 9:41
帖子: 8455
送出感谢: 0 次
接收感谢: 0 次
ee总有太特殊的需求~ :em20


页首
 用户资料  
 
7 楼 
 文章标题 : Re: gtkmm下屏敝button的键盘事件
帖子发表于 : 2009-01-20 18:34 

注册: 2007-03-07 19:07
帖子: 28
送出感谢: 0 次
接收感谢: 0 次
ee 用gtkmm 简直是糟蹋C++.


页首
 用户资料  
 
8 楼 
 文章标题 : Re: gtkmm下屏敝button的键盘事件
帖子发表于 : 2009-01-20 19:02 
头像

注册: 2007-11-29 9:41
帖子: 8455
送出感谢: 0 次
接收感谢: 0 次
xihe 写道:
ee 用gtkmm 简直是糟蹋C++.

顶这句


页首
 用户资料  
 
9 楼 
 文章标题 : Re: gtkmm下屏敝button的键盘事件
帖子发表于 : 2009-01-20 20:40 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
确实,又来一个短名的马甲。呵呵。
我就糟蹋怎么样啊。本来就不喜欢++。
我的方向是C--。连库都不用的那种。不像你们喜欢挥霍的啊。


_________________
● 鸣学


页首
 用户资料  
 
10 楼 
 文章标题 : Re: gtkmm下屏敝button的键盘事件
帖子发表于 : 2009-01-20 21:07 
头像

注册: 2007-11-29 9:41
帖子: 8455
送出感谢: 0 次
接收感谢: 0 次
c++都叫挥霍,那用java,python, c#的人叫啥~


页首
 用户资料  
 
11 楼 
 文章标题 : Re: gtkmm下屏敝button的键盘事件
帖子发表于 : 2009-01-20 22:15 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
哎。我以前的编程,就算是C,都要看结果的汇编代码的啊。经常盘算怎样把一个语法写到最小代码开销的。

一个printf scanf 类的,从来不碰的,数据格式都自己转。

思路不同而已。




打倒更挥霍的 java python c sharp


_________________
● 鸣学


页首
 用户资料  
 
12 楼 
 文章标题 : Re: gtkmm下屏敝button的键盘事件
帖子发表于 : 2009-01-20 23:20 
头像

注册: 2007-03-01 20:46
帖子: 2393
地址: 湖南长沙
送出感谢: 0 次
接收感谢: 0 次
eexpress 写道:
哎。我以前的编程,就算是C,都要看结果的汇编代码的啊。经常盘算怎样把一个语法写到最小代码开销的。

一个printf scanf 类的,从来不碰的,数据格式都自己转。

思路不同而已。




打倒更挥霍的 java python c sharp


打倒ee~~


页首
 用户资料  
 
13 楼 
 文章标题 : Re: gtkmm下屏敝button的键盘事件
帖子发表于 : 2009-01-21 8:19 

注册: 2007-03-07 19:07
帖子: 28
送出感谢: 0 次
接收感谢: 0 次
回EE:
我对你的评论源于 lerosua 在4楼的帖子,和你在5楼的评论。
同样一个功能, lerosua 用虚函数实现,你竟然用 信号.槽 调用。
你说哪个省资源。


页首
 用户资料  
 
14 楼 
 文章标题 : Re: gtkmm下屏敝button的键盘事件
帖子发表于 : 2009-01-21 8:55 
头像

注册: 2007-11-29 9:41
帖子: 8455
送出感谢: 0 次
接收感谢: 0 次
xihe 写道:
回EE:
我对你的评论源于 lerosua 在4楼的帖子,和你在5楼的评论。
同样一个功能, lerosua 用虚函数实现,你竟然用 信号.槽 调用。
你说哪个省资源。

难得 xihe出来点评~ 要支持


页首
 用户资料  
 
15 楼 
 文章标题 : Re: gtkmm下屏敝button的键盘事件
帖子发表于 : 2009-01-21 22:20 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
不就是挥霍吗。用高级高级语言的家伙,没见几个关心最佳方法的,都是只关心结果的。何况我不是使用高级高级语言的。
另外,我用全局变量的,估计你们也不用。想想一个全局变量带来的节约有多少吧。50%的代码吧。


_________________
● 鸣学


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 17 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译