이케 날 올바른 방향으로 가고 있어요. Wx :: Demo는 PerlTk의 위젯과 같이 매우 유용합니다. 그러나 Wx :: GridBagSizer는 명시 적으로 논의되지 않았으므로 결국 시행 착오를 겪었습니다. 여기 내가하려는 일이 있습니다 :
sub new
{
my($class, $parent) = @_;
my $self = $class->SUPER::new
(
undef,
-1,
"Wx::GridBagSizer",
wxDefaultPosition, wxDefaultSize,
wxDEFAULT_FRAME_STYLE|wxRESIZE_BORDER|wxMAXIMIZE_BOX
);
my $Grid = Wx::GridBagSizer->new(1,1);
$Grid->Add(Wx::Button->new($self, -1, 'Button 1'), Wx::GBPosition->new(0, 0), Wx::GBSpan->new(1, 1), wxGROW|wxALL, 1);
$Grid->Add(Wx::Button->new($self, -1, 'Button 2'), Wx::GBPosition->new(0, 1), Wx::GBSpan->new(1, 1), wxGROW|wxALL, 1);
$Grid->Add(Wx::Button->new($self, -1, 'Button 3'), Wx::GBPosition->new(1, 0), Wx::GBSpan->new(1, 2), wxGROW|wxALL, 1);
$Grid->Add(Wx::Button->new($self, -1, 'Button 4'), Wx::GBPosition->new(2, 0), Wx::GBSpan->new(2, 1), wxGROW|wxALL, 1);
$Grid->Add(Wx::Button->new($self, -1, 'Button 5'), Wx::GBPosition->new(2, 1), Wx::GBSpan->new(1, 1), wxGROW|wxALL, 1);
$Grid->Add(Wx::Button->new($self, -1, 'Button 6'), Wx::GBPosition->new(3, 1), Wx::GBSpan->new(1, 1), wxGROW|wxALL, 1);
$Grid->AddGrowableRow(1);
$Grid->AddGrowableCol(1);
$self->SetAutoLayout(1);
$self->SetSizer($Grid);
$self->CenterOnScreen(wxBOTH);
return $self;
}
고맙습니다. 이것은 나를 올바른 방향으로 향하게했다. Wx :: GridBagSizer가 Wx :: Demo에서 명시 적으로 다루지 않았기 때문에이를 참조하고자하는 사람들을 위해 아래 긴 솔루션 게시. 시행 착오를했다. BTW ... Wx :: Demo는 사실 도움이되었습니다. 다시 한번 감사드립니다. – Rodney