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
| #!/usr/bin/perl
use Tk; #Utilisation de Tk
#use strict;
use warnings;
use Tk::ProgressBar;
use Tk::Photo;
use Tk::PNG;
use Net::FTPSSL;
##module qui pourrait m'être utile
#Net::FTP::File
#if ("il y a des fichiers de sélectionné")
# {
# my $ftps = Net::FTPSSL->new("10.0.2.69",
# Port=> 21,
# Encryption => EXP_CRYPT,
# Debug => 1)
# or die "Impossible de se connecter à Islo people";
#
# $ftps-> login('photographe', 'passe')
# or die "Pas de login "
# }
#Définition de la fonction de fermeture de l'application
sub Quitter
{
exit(0);
}
#Création de la fenêtre principale
$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
$barre_menu = $fen->Frame(-relief => 'groove' , -borderwidth => 2);
#Création de la barre du menu général
$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);
#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 => "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
$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