【发布时间】:2011-03-07 09:26:03
【问题描述】:
我正在尝试将事件处理程序添加到 Wx::StaticBoxSizer 的子类,但出现以下错误:
无法在 C:/strawberry/perl/site/lib/Wx/Event.pm 第 38 行通过包“Wx::StaticBoxSizer”找到对象方法“Connect”。
这是否意味着 Wx::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!'); }
谢谢
【问题讨论】:
-
发布更多代码可能会让人们更有机会为您提供解决方案。作为 gui 平台,您与
Wx的关系如何? -
这篇文章在 Perlmonks 上被交叉发布和回答:perlmonks.org/?node_id=846110