试图在perl gtk2中创建一个简单的图像查看器

时间:2015-01-06 01:03:22

标签: perl user-interface gtk

我正在尝试创建一个简单的图像查看器,您可以在其中放置图像的文件名,包括其扩展名,但图像不会包含在主窗口中

#!/usr/bin/perl

use strict;
use warnings;
use Glib qw/TRUE FALSE/;
use Gtk2 '-init';

my $window=Gtk2::Window->new();
$window->set_title("Image Resizer");
$window->signal_connect('delete_event',sub{Gtk2::main_quit;});

my $vbox1=Gtk2::VBox->new;
my $label=Gtk2::Label->new("Image Filename: ");
my $entry=Gtk2::Entry->new;
my $button=Gtk2::Button->new("Submit");

$button->signal_connect(clicked=>sub{
    my $string=$entry->get_text;
    my $label1=Gtk2::Label->new("$string");
    $vbox1->add($label1);
    my $pbuf=Gtk2::Gdk::Pixbuf->new_from_file_at_size("$string", 200, 200);
    my $image=Gtk2::Image->new_from_pixbuf($pbuf);
    $vbox1->add($image);
});
$vbox1->add($label);
$vbox1->add($entry);
$vbox1->add($button);
$window->add($vbox1);
$window->show_all;
Gtk2->main;

我将此示例作为perl / gtk2教程的一部分,但无法找出错误的来源。

1 个答案:

答案 0 :(得分:2)

它打包;您需要在窗口显示后添加的任何窗口小部件上显式调用show_all(在本例中为$label1$image)。