in reply to Passing arguments for GUI development in Tk
#! /usr/bin/perl use warnings; use strict; use Tk; sub run { my ($mw, $option_i, $option_d, $option_o) = @_; if ($option_o =~ /^[0-9]+$/) { system 'script.pl', '-i', $option_i, '-d', $option_d, '-o', $option_o; } else { $mw->messageBox(-type => 'Ok', -title => 'Invalid option', -icon => 'error', -message => '-o must be numeric!'); } } my $mw = 'MainWindow'->new(-title => 'GUI'); my $mf = $mw->Frame->pack; my $fi = $mw->Frame->pack; my $label_i = $fi->Label(-text => '-i')->pack(-side => 'left'); my $entry_i = $fi->Entry->pack; my $fd = $mw->Frame->pack; my $label_d = $fd->Label(-text => '-d')->pack(-side => 'left'); my $entry_d = $fd->Entry->pack; my $fo = $mw->Frame->pack; my $label_o = $fo->Label(-text => '-o')->pack(-side => 'left'); my $entry_o = $fo->Entry->pack; my $bf = $mw->Frame->pack; my $run_b = $bf->Button(-text => 'Run', -foreground => 'green', -activeforeground => 'green', -command => sub { run($mw, map $_->ge +t, $entry_i, $entr +y_d, $entry_o) }, )->pack(-side => 'left'); my $cancel_b = $bf->Button(-text => 'Cancel', -command => sub { $mw->exit }, )->pack; MainLoop();
|
|---|