免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3388 | 回复: 2
打印 上一主题 下一主题

请教Perl鼠标操作的包 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-05-21 18:10 |只看该作者 |倒序浏览
本帖最后由 perllover007 于 2014-05-22 05:44 编辑

请教各位,如何实现用鼠标选中文字内容后直接获取到文本框自动检索,就像有道词典一样,鼠标选择文字后,自动搜索。
我想用鼠标取词后自动调入一个文本框中,再进行文本框内容的其他操作。不知道我描述清楚了没有?
如有可能,请请给个代码,多谢!

论坛徽章:
7
戌狗
日期:2013-12-15 20:43:38技术图书徽章
日期:2014-03-05 01:33:12技术图书徽章
日期:2014-03-15 20:31:17未羊
日期:2014-03-25 23:48:20丑牛
日期:2014-04-07 22:37:44巳蛇
日期:2014-04-11 21:58:0915-16赛季CBA联赛之青岛
日期:2016-03-17 20:36:13
2 [报告]
发表于 2014-05-23 03:19 |只看该作者
本帖最后由 rubyish 于 2014-05-22 23:29 编辑

yige small example:
1: shishi INPUT, perl, Perl, Burl, Ruby, pupy....
2: shishi SELECT, perl, Perl, Python, python...
  1. #!/usr/bin/perl

  2. use Gtk2 '-init';

  3. my %data = (
  4.     Perl   => 'Larry Wall',
  5.     Rust   => 'Graydon Hoare',
  6.     Php    => 'Rasmus Lerdorf',
  7.     Ruby   => 'Yukihiro Matsumoto',
  8.     Python => 'Guido van Rossum',
  9. );

  10. my ( $TRUE, $FALSE ) = ( 1, 0 );
  11. my $win = Gtk2::Window->new('toplevel');
  12. my $vbo = Gtk2::VBox->new( $FALSE, 20 );
  13. my $ent = Gtk2::Entry->new;
  14. my $fra = Gtk2::Frame->new;
  15. my $lab = Gtk2::Label->new("$/select or input$/$/");
  16. my $but = Gtk2::Button->new('    quit    ');
  17. my $cli = Gtk2::Clipboard->get( Gtk2::Gdk->SELECTION_PRIMARY );
  18. my $sep = Gtk2::HSeparator->new;
  19. my $hbo = Gtk2::HBox->new( $FALSE, 0 );

  20. $win->set_title('a small example');
  21. $win->set_border_width(20);
  22. $win->resize( 200, 200 );
  23. $win->set_keep_above($TRUE);
  24. $hbo->pack_start( $but, $FALSE, $FALSE, 50 );
  25. $vbo->pack_start( $_, $FALSE, $TRUE, 2 ) for $fra, $ent, $sep, $hbo;
  26. $fra->add($lab);
  27. $win->add($vbo);

  28. $win->signal_connect( destroy => sub { Gtk2::main_quit } );
  29. $but->signal_connect( clicked => sub { Gtk2::main_quit } );
  30. $cli->signal_connect( 'owner-change' => \&Select );
  31. $ent->signal_connect( 'activate'     => \&Input );

  32. $win->show_all;
  33. Gtk2->main;

  34. sub Select {
  35.     my $select = $cli->wait_for_text();
  36.     $ent->set_text($select);
  37.     Input();
  38. }

  39. sub Input {
  40.     my $text = $ent->get_text();
  41.     my $output = $data{$text} || 'Not Found';
  42.     $output = "$/$output$/$/";
  43.     $lab->set_text($output);
  44. }


  45. __DATA__

复制代码

论坛徽章:
0
3 [报告]
发表于 2014-05-23 08:37 |只看该作者
非常感谢!!! 回复 2# rubyish


   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP