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 127 128 129 130 131 132
| #!/usr/bin/perl
use Tk;
use strict;
use warnings;
use Tk::ProgressBar;
use Tk::Photo;
use Tk::PNG;
use Tk::Browser;
use Net::FTPSSL;
sub ConnexionFTP
{
#La variable $etat prend la valeur vrai par défault et faux si la connection au FTP échoue
my $etat="vrai";
my $ftps = Net::FTPSSL->new("127.0.0.1",
Port=> 21,
Encryption => EXP_CRYPT,
Debug => 1)
or $etat = "faux";
$ftps-> login( 'photographe', 'passe')
or $etat = "faux";
return $etat;
}
#Définition de la fonction de fermeture de l'application
sub Quitter
{
exit(0);
}
#Création de la fenêtre principale
my $fen = MainWindow->new();
#Définition de la taille min de la fenêtre
$fen->minsize('500','300');
#Définition du title de la fenêtre
$fen->title("Islo People");
#Création de la barre de menu
my $barre_menu = $fen->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 = $fen->Frame()->pack(-side => "bottom",-padx => 10, -pady => 0);
# Construct Browser object:
my $browse = new Browser;
# Browse entire library:
$browse -> open();
# Browse a package by name:
$browse -> open(package => IO::File);
# Browse a package by module path name:
$browse -> open(pathname =>"/usr/local/lib/perl5/5.6.0/open.pm");
#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 = $fen->Photo( -format => "png", -file => "/home/seb/Desktop/Islo_people/logo.png" );
my $bouton2 = $fen -> Button (
-image => $ObjImage
)->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
$fen->update;
}
sleep 5;
print "Fin de l'exemple update \n";
$fen->destroy;
#Création de notre barre de statut à l'aide d'un Label
my $barre_statut = $fen->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');
MainLoop; |
Partager