perl - 尝试在 perl gtk2 中制作一个简单的图像查看器

标签 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 教程的一部分,但无法找出错误的根源。

最佳答案

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

关于perl - 尝试在 perl gtk2 中制作一个简单的图像查看器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27790547/

相关文章:

mysql - PERL:脚本未完成

perl - 在 Perl 中,为什么复制弱引用会创建正常的强引用?

java - 连接到多个队列并将其消息路由到另一个队列的最有效方法

windows - 如何创建具有独特 GUI(如 Valve 的 Steam)的应用程序?

java - 如何在 Java 中设置 LookAndFeel 文件?

qt - Qt中有没有类似于GTK+的GtkSizeGroup的东西?

Perl 将本地时间格式的时间转换为 YYYYMMDD

c# - 合并多个 C# 项目

java - 如何拆分文本文件中的每条数据并将它们放回 Java GUI 表单上各自的文本字段中?

c - 设置按下快捷键时菜单项的状态