Newsgroup: it.comp.lang.perl
Titolo: grafica AIUTI

Salve a tutti  ,
ho la necessita' per motidi lavoro di creare un mini interfaccia grafica in
perl , considerando che ne so molto poco sul perl , dove posso trovare
informazioni su come realizzarla ???
Dovrei solo chiedere ad un ipotetico utente l'inserimento di alcuni dati  da
una interfaccia grafica e associare ad essi delle variabili per dei calcoli
su delle macchine UNIX  :
Dimensione x :
dimensione y :
distanza :
grazie a tutti

 su delle macchine UNIX
Visto che non hai la necessità di una interfaccia grafica raffinata
e cerchi una certa semplicità di programmazione, ti consiglio il
Perl/Tk .
Il sito di riferimento è 
http://www.perltk.org
La disposizione degli elementi dell'interfaccia potresti farla "a mano"
scrivendo il codice, oppure utilizzando dei tool:
http://www.18rabbit.com/products/tikiartist.htm
 utilizzabile però
solo da win32 (anche se il codice prodotto è utilizzabile ovunque)
oppure 
http://spectcl.sourceforge.net/
 
con 
http://www.keck.ucsf.edu/~kvale/specperl
Un esempio di piccola "form" per l'inserimento dati è:
use strict;
use Tk;
my ($input_X,$input_Y,$input_D);
my $mw = MainWindow->new( -height => 150, -width => 250);
#=============== Dimensione X
my $Label_X = $mw->Label(-text => "Dimensione X:");
$Label_X->place( -x => 10, -y => 10, -height => 20, -width => 100);
my $Entry_X = $mw->Entry( 
       	                 -relief => "sunken",
			 -textvariable=>\$input_X,
			 -background=>"white"
	                         );
$Entry_X->place( -x => 100, -y => 10, -height => 20, -width => 100);
#=============== Dimensione X
my $Label_Y = $mw->Label(-text => "Dimensione Y:");
$Label_Y->place( -x => 10, -y => 47, -height => 20, -width => 100);
my $Entry_X = $mw->Entry( 
       	                 -relief => "sunken",
			 -textvariable=>\$input_Y,
			 -background=>"white"
	                         );
$Entry_X->place( -x => 100, -y => 47, -height => 20, -width => 100);
#=============== Distanza
my $Label_D= $mw->Label(-text => "Distanza:");
$Label_D->place( -x => 20, -y => 85, -height => 20, -width => 100);
my $Entry_X = $mw->Entry( 
       	                 -relief => "sunken",
			 -textvariable=>\$input_D,
			 -background=>"white"
	                         );
$Entry_X->place( -x => 100, -y => 85, -height => 20, -width => 100);
#=============== Invia
my $Button_I = $mw->Button( 
                           -text => "Invia",
                           -relief => "raised",
			   -command=>\&procedi
                           );
$Button_I->place( -x => 74, -y => 115, -height => 24, -width => 96);
MainLoop;
sub procedi {
	#fai qualcosa con $input_D $input_X $input_Y
}
-- 
$_=q,6;-16;-1;-8;0;7;-13;-12;-9;-3;13#4A75737420616E6F74686572,,($_,$b)=
split?#?;@b=split?;?;map{$c.=$_,$d.=chr$b[$e++]+ord}split??,pack'H24',$b
;chop$d,print$c.chr(32).$d

 wrote in message
news:nNWp9.21752$RO.5...@twister1.libero.it...


su delle macchine UNIX  :
Interfaccia grafica grafica (sotto X), o ti basta semi-grafica in console?
Sotto X, c'e` il modulo TK, non proprio semplicissimo, come avrai visto; in
console c'e` Curses, e forse altri.
Ciao.

libero-andrea wrote:

Il Tk per l'iterfaccia grafica e Tk::Getopt per automatizzare la creazione delle
maschere
di inserimento dei parametri (è il front-end grafico alle Getopt::Long) se non
vuoi addentrarti
nella programmazione Perl/Tk.
Ad esempio:
---CUT HERE---
use strict;
use vars qw(%options);
use Tk;
use Tk::Getopt;
my @opttable = (
    'Tab1',                        # Head of first group (tab control)
    [
     'intero',                                # value of the option in
$options{'intero'}
     '=i',                                      # type
     4,                                        # default is 4
     label => 'Valore intero',       # label
     help => 'Valore intero help'  # help string for the balloon
    ],
    ['check','',0,help => 'Check help'],
    ['stringa','=s',undef,label => 'Stringa',help => 'Stringa help'],
    ['list','=s',undef,choices => [qw/option1 option2/],label => 'Lists',help =>
'list help'],
    'Tab2',                        # Head of second group
    ['stringa2','=s',undef,label => 'Stringa2',help => 'Stringa2 help'],
    ['check2','',1,help => 'check2 help']
 );
my $tk_opt = new Tk::Getopt(-options => \%options, -opttable => \@opttable);
my $top = new MainWindow;
$tk_opt->option_editor($top, -toplevel => "Frame", -wait => 1, -pack => [-fill
=> "both", -expand => 1]);
---CUT HERE---
%options conterrà tutti i parametri immessi.
Naturalmente ci sono anche più opzioni (=> perldoc Getopt::Long && Tk::Getopt)
    - Enrico