use strict; use warnings; use Wx; use 5.014; use autodie; use Carp; use Carp qw {cluck}; use Carp::Always; use Win32::Console; package MainWindow; use Wx ':everything'; use parent -norequire, 'Wx::Frame'; sub new { #1 MainWindow:: my $class = shift; my $self = $class->SUPER::new( undef, -1, # parent window; ID -1 means any 'Test', # title [-1,-1 ], # position [ -1, -1 ], # size ); # def __init__(self, *args, **kwargs): # wx.Frame.__init__(self, *args, **kwargs) $self->{panel} = Wx::Panel->new($self); $self->{panel}->SetBackgroundColour(wxGREEN); $self->{list} = Wx::ListCtrl->new($self->{panel}, wxLC_REPORT, [200, -1]); my $column_size = $self->{list}->GetSize->width / 2 - 2; $self->{list}->InsertColumn(0, 'Name'); $self->{list}->InsertColumn(1, 'Age'); $self->{list}->SetColumnWidth(0, $column_size); $self->{list}->SetColumnWidth(1, $column_size); $self->{sizer} = Wx::BoxSizer->new(wxVERTICAL); $self->{sizer}->Add($self->{list}, 0, wxEXPAND); $self->{sizer}->Add($self->{panel}, 1, wxEXPAND); $self->SetSizerAndFit($self->{sizer}); $self->SetSize([600, 400]); return $self; } #1 end sub new MainWindow:: my $app = Wx::SimpleApp->new; my $win = MainWindow->new; $win->Show(1); $app->MainLoop;