您的位置:首页 > Web前端

Gtk2 - perl 学习记录

2005-04-06 16:55 483 查看
HBox和VBox创建时有两个参数:
  new(是否平分每个box, 内部各个Widget之间的距离)
Window设置内部间隔:
  set_border_width($px)
让scroll到最底部:
use Glib qw(FALSE);

use Gtk2 -init;

# create a window with a scrolled text view.

my $window = Gtk2::Window->new;

$window->signal_connect (delete_event => sub {exit});

my $scroll = Gtk2::ScrolledWindow->new;

my $textview = Gtk2::TextView->new;

$scroll->add ($textview);

$window->add ($scroll);

$window->show_all;

my $buffer = $textview->get_buffer;

# create a mark at the end of the buffer, with right gravity,

# so that when you insert text, the mark always stays on

# the right (at the end).

my $end_mark = $buffer->create_mark ('end', $buffer->get_end_iter, FALSE);

# every time we insert text, scroll to that mark.

$buffer->signal_connect (insert_text => sub {

$textview->scroll_to_mark ($end_mark, 0.0, TRUE, 0.0, 1.0);

});

# display the output of some long-running command...

open IN, "sleep 1; ls -l |";

Glib::IO->add_watch (fileno IN, ['in', 'hup'], sub {

my ($fd, $condition) = @_;

if ($condition >= 'in') {

$buffer->insert ($buffer->get_end_iter, scalar );

}

if ($condition >= 'hup') {

close IN;

return FALSE;

}

return TRUE;

});

Gtk2->main;

LINK:http://gtk2-perl.sourceforge.net/faq/#46
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息