Chinaunix
标题:
请教Perl鼠标操作的包
[打印本页]
作者:
perllover007
时间:
2014-05-21 18:10
标题:
请教Perl鼠标操作的包
本帖最后由 perllover007 于 2014-05-22 05:44 编辑
请教各位,如何实现用鼠标选中文字内容后直接获取到文本框自动检索,就像有道词典一样,鼠标选择文字后,自动搜索。
我想用鼠标取词后自动调入一个文本框中,再进行文本框内容的其他操作。不知道我描述清楚了没有?
如有可能,请请给个代码,多谢!
作者:
rubyish
时间:
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...
example.gif
(4.77 KB, 下载次数: 23)
下载附件
2014-05-23 03:18 上传
#!/usr/bin/perl
use Gtk2 '-init';
my %data = (
Perl => 'Larry Wall',
Rust => 'Graydon Hoare',
Php => 'Rasmus Lerdorf',
Ruby => 'Yukihiro Matsumoto',
Python => 'Guido van Rossum',
);
my ( $TRUE, $FALSE ) = ( 1, 0 );
my $win = Gtk2::Window->new('toplevel');
my $vbo = Gtk2::VBox->new( $FALSE, 20 );
my $ent = Gtk2::Entry->new;
my $fra = Gtk2::Frame->new;
my $lab = Gtk2::Label->new("$/select or input$/$/");
my $but = Gtk2::Button->new(' quit ');
my $cli = Gtk2::Clipboard->get( Gtk2::Gdk->SELECTION_PRIMARY );
my $sep = Gtk2::HSeparator->new;
my $hbo = Gtk2::HBox->new( $FALSE, 0 );
$win->set_title('a small example');
$win->set_border_width(20);
$win->resize( 200, 200 );
$win->set_keep_above($TRUE);
$hbo->pack_start( $but, $FALSE, $FALSE, 50 );
$vbo->pack_start( $_, $FALSE, $TRUE, 2 ) for $fra, $ent, $sep, $hbo;
$fra->add($lab);
$win->add($vbo);
$win->signal_connect( destroy => sub { Gtk2::main_quit } );
$but->signal_connect( clicked => sub { Gtk2::main_quit } );
$cli->signal_connect( 'owner-change' => \&Select );
$ent->signal_connect( 'activate' => \&Input );
$win->show_all;
Gtk2->main;
sub Select {
my $select = $cli->wait_for_text();
$ent->set_text($select);
Input();
}
sub Input {
my $text = $ent->get_text();
my $output = $data{$text} || 'Not Found';
$output = "$/$output$/$/";
$lab->set_text($output);
}
__DATA__
复制代码
作者:
perllover007
时间:
2014-05-23 08:37
非常感谢!!!
回复
2#
rubyish
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2