1
我想要一个事件处理程序添加到蜡质:: StaticBoxSizer的一个子类,但我发现了以下错误:wx :: StaticBoxSizer的子类可以处理事件吗?
Can't locate object method "Connect" via package "Wx::StaticBoxSizer" at C:/strawberry/perl/site/lib/Wx/Event.pm line 38.
是否意味着蜡质:: StaticBoxSizer无法处理事件?如果是这样,是否有另一种方法来构造我的对象,以便它自动调整大小和处理它自己的事件?
我的子类代码如下。如有必要,我还可以添加框架和应用程序类。
package my_sizer;
use base 'Wx::StaticBoxSizer';
use Wx qw(:sizer);
use Wx::Event qw(EVT_BUTTON);
sub new {
my $ref = shift;
my $parent = shift;
my $self = $ref->SUPER::new(
Wx::StaticBox->new($parent, -1, 'Box label'),
wxHORIZONTAL
);
my $button = Wx::Button->new($parent, -1, 'Button');
$self->Add($button);
EVT_BUTTON($self, $button, \&click);
$self->SetSizeHints($parent);
return $self;
}
sub click { Wx::MessageBox('Click!'); }
感谢
发布更多的代码的可能给人为您提供的解决方案的一个更好的机会。 “Wx”作为一个GUI平台有多重要? – 2010-06-23 20:05:09
这篇文章被交叉发布并在Perlmonks上回答:http://www.perlmonks.org/?node_id=846110 – daotoad 2010-06-23 21:26:09