#1 Le 09/02/2008, à 11:10
- Abracine
[Perl-Gtk2] Problème dans mon script
Bonjour a tous! Alors voilà, j'ai un exercice a faire qui est un script en Perl-Gtk2 (mon premier ^^), qui affiche les statistiques de mon ordinateur. Je dois le faire avec une interface, j'ai donc choisi le Gtk2, mais malheureusement, j'ai une erreur qui survient, et je ne l'acomprend pas!
Voilà mon script
#!/usr/bin/perl -w
use Gtk2 '-init' ;
use constant TRUE => 1;
use constant FALSE => 0;#Création de la fenètre principal
$window_stat1 = Gtk2::Window->new('toplevel');
$window_stat1->set_title("Paramètres");
$window_stat1->signal_connect("delete_event", sub{Gtk2->main_quit;});#Création de la boite verticale
$Vbox = Gtk2::VBox->new(FALSE, 5);#Ajout de la boite a la fenètre
$window_stat1->add($Vbox);#********************************************Elements de la Vbox*******************************#
#Création du bouton Charge Système#
$button_charg_sys = Gtk2::Button->new("Charge Systeme");
$button_charg_sys->signal_connect('clicked', \&charge_sys);#Création du bouton charge Cpu#
$button_charg_cpu = Gtk2::Button->new("Charge CPU");
$button_charg_cpu->signal_connect('clicked', \&charge_cpu);#Création du bouton Place Restante#
$button_size_DD = Gtk2::Button->new("Taille DD");
$button_size_DD->signal_connect('clicked', \&size_DD);#On ajoute les boutons a la boite#
$Vbox->pack_start($button_charg_sys, TRUE, TRUE, 0);
$Vbox->pack_start($button_charg_cpu, TRUE, TRUE, 0);
$Vbox->pack_start($button_size_DD, TRUE, TRUE, 0);#on montre les boutons#
$button_charg_sys->show();
$button_charg_cpu->show();
$button_size_DD->show();#***********************************************FIN DES ELEMENTS DE LA VBox*************************************#
#************************************************FONCTION*******************************************************#
sub charge_sys {
$window_sys = Gtk2::Window->new('toplevel');
$window_sys->set_title("Charge systeme");$lab_sys = Gtk2::Label->new(`uptime | cut -d, -f3,4,5`);
$lab_sys->show();
$window_sys->add($lab_sys);
$window_sys->show();
}sub charge_cpu {
$window_cpu = Gtk2::Window->new('toplevel');
$window_cpu->set_title("Charge CPU");$lab_cpu = Gtk2::Label->new(`top | head -n3 | tail -n1`);
$lab_cpu->show();
$window_cpu->add($lab_cpu);
$window_cpu->show();
}sub size_DD {
$window_DD = Gtk2::Window->new('toplevel');
$window_DD->set_title("Espace Disque Restant");my $lab_DD = Gtk2::Label->new(`df -ah`);
$lab_DD->show();
$window_DD->add($lab_DD);
$window_DD->show();
}
#*******************************************FIN DES FONCTIONS******************************************#$Vbox->show();
$window_stat1->show();
Gtk2->main ;
EN fait, il y a deux erreurs, lorsque je lance charge CPU, il me met quelquechose d'incompréhensible, et lorsque je lance Taille DD, il me met cette erreur:
*** unhandled exception in callback:
*** Usage: Gtk2::Label::new(class, str=NULL) at ./stat.pl line 81.
*** ignoring at ./stat.pl line 91.
Je ne comprend pas pourquoi il me met cette erreur, alors que pour les autres, il ne me met rien!
Si quelqu'un pouvait m'expliquer la raison de cette erreur, ça serait sympa ^^
Merci d'avance
#2 Le 10/02/2008, à 13:22
- Abracine
Re : [Perl-Gtk2] Problème dans mon script
Personne n'aurait d'idée? Je sèche complètement là ...