我在想如何從信號處理程序中訪問一個小部件。使用Perl和GtkBuilder連接信號
我有一個名爲「lblVerify」的標籤,我只是想在點擊按鈕時將文本更改爲「已驗證」。我知道我需要使用像Gtk2 :: Label-> set_text,但我不完全確定如何從on_btnVerify_clicked函數內訪問小部件屬性。
#!/usr/bin/perl
use strict;
use warnings;
use Glib qw{ TRUE FALSE };
use Gtk2 '-init';
my $builder;
my $window;
# get a new builder object
$builder = Gtk2::Builder->new();
# load the Gtk File from GLADE
$builder->add_from_file("testglade.xml")
or die "Error loading GLADE file";
# create the main window
$window = $builder->get_object("window1")
or die "Error while creating Main Window";
# connect the event handlers
$builder->connect_signals(undef);
$window->show_all();
$builder = undef;
Gtk2->main();
exit;
sub on_btnVerify_clicked
{
}
這工作的第一個功能/插件,但我不完全知道如何通過更多的widget,在其他信號處理程序訪問它們。我已經嘗試了一些東西,但沒有提到。有什麼建議麼? – 2011-05-02 18:07:33
是的,在一個更大的應用程序中通常會發生的情況是,您需要在信號處理程序中創建需要訪問的所有窗口小部件指針的結構(或者在Perl中,可能是哈希)。然後您將該散列作爲用戶數據參數傳遞。 – ptomato 2011-05-03 09:42:06