#!/usr/bin/perl use utf8; use Wx qw( :frame :textctrl :sizer :panel :window :id ); use Wx::Event qw(EVT_CLOSE EVT_BUTTON); $VERSION = '0.001'; @drink_list = ('пиво','водка','коньяк','лимонад'); $| = 1; my $app = Wx::SimpleApp->new; my $frame = Wx::Frame->new( undef, -1, "Пятничный калькулятор v$VERSION", [-1, -1], [-1,-1], wxMINIMIZE_BOX | wxSYSTEM_MENU | wxCAPTION |wxCLOSE_BOX | wxCLIP_CHILDREN #| wxBORDER_NONE ); my $panel = Wx::Panel->new( $frame, # parent window 1, # ID [5,5], [100,100] ); my $panel2 = Wx::Panel->new( $frame, # parent window 1, # ID [-1,-1], [100,100] ); my $bigbutton = Wx::Button->new( $frame, 1, 'Выполнить расчет', [-1,-1], [-1,-1]); my $mass_label = Wx::StaticText->new($panel, 2, 'Ваш вес:',[-1,-1], [-1,-1]); my $drink_label = Wx::StaticText->new($panel2, 4, 'Предпочитаемый напиток:',[-1,-1], [-1,-1]); my $mass_entry = Wx::TextCtrl->new($panel, 3, '',[-1,-1], [-1,-1]); my $grszr =Wx::GridSizer->new(2,2,20,20); my $boxsizer = Wx::BoxSizer->new(wxVERTICAL); my $boxsizer2 = Wx::BoxSizer->new(wxVERTICAL); my $drink_choice = Wx::Choice->new($panel2, 4,[-1,-1],[-1,-1],\@drink_list); $boxsizer->Add($mass_label); $boxsizer->Add($mass_entry); $boxsizer2->Add($drink_label); $boxsizer2->Add($drink_choice); $grszr->Add($panel, 0, wxALIGN_CENTRE|wxTOP|wxBOTTOM|wxLEFT|wxRIGHT, 10); $grszr->Add($panel2, 0, wxALIGN_CENTRE|wxTOP|wxBOTTOM|wxLEFT|wxRIGHT, 10); $grszr->Add($bigbutton, 0, wxALIGN_CENTRE|wxTOP|wxBOTTOM|wxLEFT|wxRIGHT, 10); sub helloe { my $val = $mass_entry->GetValue(); $val = $val * 2; print "doubled Mass of user is $val\n"; Wx::MessageBox("Вам можно выпить $val рюмок",'Результат:', wxOK, undef); } EVT_BUTTON( $frame, $bigbutton, \&helloe ); $panel->SetAutoLayout(1); $panel->SetSizer($boxsizer); $panel2->SetAutoLayout(1); $panel2->SetSizer($boxsizer2); $frame->SetSizer($grszr); $frame->SetAutoLayout(1); #### $frame->SetBackgroundColor(0); $frame->Show; $app->MainLoop;