#!/usr/bin/perl use warnings; use strict; use Glib qw/TRUE FALSE/; use Gtk2 '-init'; #not working my $window = Gtk2::Window->new('toplevel'); $window->set_title('Z'); $window ->signal_connect( 'destroy' => \&delete_event ); $window->set_border_width(10); $window->set_size_request(300,200); my $vbox = Gtk2::VBox->new( FALSE, 6 ); $window->add($vbox); $vbox->set_border_width(2); my $hbox= Gtk2::HBox->new( FALSE, 6 ); $vbox->pack_end($hbox,FALSE,FALSE,0); $hbox->set_border_width(2); my $frame0 = Gtk2::Frame->new('Controls'); $vbox->pack_end( $frame0, FALSE, FALSE, 0 ); $frame0->set_border_width(3); my $hbox0 = Gtk2::HBox->new( FALSE, 6 ); $frame0->add($hbox0); $hbox0->set_border_width(3); my $button = Gtk2::Button->new_from_stock('gtk-quit'); $hbox0->pack_end( $button, FALSE, FALSE, 0 ); $button->signal_connect( clicked => \&delete_event ); # creates its own adjustment my ($value, $lower, $upper, $step_increment, $page_increment, $page_size)= ( 60, 0, 100 , 1 , 1 , 0.0); my $hadjustment = Gtk2::Adjustment->new( $value, $lower, $upper, $step_increment, $page_increment, $page_size); my $vadjustment = undef; my $viewport = Gtk2::Viewport->new($hadjustment, $vadjustment); $viewport->set_hadjustment($hadjustment); # uses the newly-created adjustment for the scrollbar as well my $vscrollbar = Gtk2::VScrollBar->new($viewport->get_vadjustment()); $vbox->pack_start($viewport,TRUE,TRUE,0); $window->show_all(); Gtk2->main; ##################################### sub delete_event { Gtk2->main_quit; return FALSE; }