1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
| #!/usr/bin/perl
use strict;
use Tk;
use warnings;
use Tk::Photo;
use Tk::PNG;
use Transferts;
#Création de la fenêtre principale
my $fenetre = MainWindow->new();
#Définition de la taille min de la fenêtre
$fenetre->minsize('500','300');
#Définition du title de la fenêtre
$fenetre->title("Islo People");
#Création de la barre de menu
my $barre_menu = $fenetre->Frame(-relief => 'groove' , -borderwidth => 2);
#Création de la barre du menu général
my $menu_gen = $barre_menu->Menubutton(
-text => 'Menu' ,
-font => '{Garamond} 10',
-tearoff => 0 ,
-menuitems => [
[ 'command' => 'Quitter' ,
-font => '{Garamond} 10',
-command => \&Quitter
]
]
);
# Création d'un cadre
my $frame1 = $fenetre->Frame()->pack(-side => "bottom",-padx => 0, -pady => 0);
#Affichage du menu général à gauche
$menu_gen->pack(-side => 'left');
#Affichage de la barre de menu en haut de la fenêtre
$barre_menu->pack(-side => 'top', -anchor => 'n', -fill => 'x');
my $ObjImage = $fenetre->Photo( -format => "png", -file => "/home/seb/Desktop/Islo_people/logo.png" );
my $bouton2 = $fenetre -> Button (
-image => $ObjImage
)->pack();
#parcourir
$frame1 ->Button ( -text => 'Parcourir' ,
-command => \&Chemin
) ->pack () ;
sub new
{
my $t=new transferts;
$t->transfert(my $chemin);
}
# Envoyer
$frame1 ->Button (
-text => 'Envoyer' ,
-command =>sub{Transferts::Transfert()}
)
->pack();
#my $status_var =0;
#$frame1->ProgressBar(
# -borderwidth => 10,
# -relief => 'sunken',
# -width => 35,
# -length => 500,
# -padx => 0,
# -pady => 0,
# -variable => \$status_var,
# -colors => [0, 'green'],
# -resolution => 0,
# -blocks => 50,
# -anchor => 'w',
# -from =>'0',
# -to => '100'
# )->pack(
# -padx => 10,
# -pady => 10,
## -fill => 'both'
# );
# La boucle dans laquelle la variable de ProgressBar change
#for (my $lostime = 0 ; $lostime < 101 ; $lostime += 5)
#{
# sleep 1 ;
# $status_var=$lostime ;
# l'instruction suivante permet la prise en compte
# des changements de valeurs de $status_var dans Perl/Tk,
# ici le widget Progressbar
# $fenetre->update;
# }
# sleep 5;
#print "Fin de l'exemple update \n";
# $fenetre->destroy;
#Création de notre barre de statut à l'aide d'un Label
#my $barre_statut = $fenetre->Label(-relief => 'groove', -text => "Islo people", -font => '{Garamond} 10');
#On l'ajoute en bas de la fenêtre afin de lui donner l'effet barre de statut
#$barre_statut->pack( -side => 'bottom', -fill => 'both');
#Définition de la fonction de fermeture de l'application
sub Quitter
{
exit(0);
}
sub Chemin()
{
my $chemin = $fenetre -> getOpenFile ( -initialdir => '/home') ;
return $chemin;
}
MainLoop; |
Partager