jjgan ... | $ perl HelloWorld.p
Unrecognized character \xE2 at HelloWorld.p line 8. |
Code :
- # !/usr/bin/perl -w
- use strict ; # une bonne idée pour tout script Perl non-trivial
- # Charge le module Gtk2 et lance une procédure dinitialisation de
- # la bibliothèque C
- use Gtk2 -init ;
- # Variables convenables pour vrai et faux
- use constant TRUE => 1 ;
- use constant FALSE => 0 ;
- # Création dune fenêtre
- my $window = Gtk2::Window->new(toplevel ) ;
- # Quand on attribue le signal delete_event à une fenêtre ( ce qui est
- # attribué par le gestionnaire de fenêtre, soit par loption fermer soit
- # par la barre de titre), on demande à celle-ci dappeler la fonction
- # Close_Window définie plus loin.
- $window->signal_connect( delete_event , \&Close_Window,coucou ) ;
- # Ici, on connecte lévènement destroy à un gestionnaire de signal.
- # Cet évènement se produit quand on appelle la fonction Gtk2::widget_destroy
- # sur la fenêtre ou si la fonction de rappel liée au delete_event retourne
- # FALSE.
- $window->signal_connect( destroy , \&Destroy_Window ) ;
- # On déclare les attributs de la fenêtre. Il sagit ici dune bande de 15 pixels
- # disposée sur le contour de la fénêtre afin que celle-ci ne soit pas trop
- # rabougrie !
- $window->set_border_width( 15 ) ;
- # Création dun bouton
- my $button = Gtk2::Button->new(Hello World ) ;
- # Quand le bouton reçoit le signal clicked, il appelle la fonction
- # Hello définie plus loin...
- $button->signal_connect( clicked , \&Hello ) ;
- # Ensuite, il déclenchera la destruction de la fenêtre en appelant la
- # fonction Gtk2::widget_destroy (). Encore une fois, le signal destroy
- # peut provenir dici ou du gestionnaire de fenêtre.
- $button->signal_connect( clicked , sub { $window->destroy} ) ;
- # On place le bouton dans la fenêtre.
- $window->add($button ) ;
- # On montre lebouton quand on a défini tous ses attributs.
- $button->show() ;
- # Idem pour la fenêtre.
- $window->show() ;
- # Toute application en Gtk2-Perl doit posséder la ligne suivante qui
- # lance la boucle principale.
- Gtk2->main ;
- ### La fonction de rappel qui est appelée quand on lique sur le bouton.
- sub Hello{
- print(Salut à tous ! !\n ) ;
- }
- ### La fonction de rappel appelée par lévènement delete_event.
- sub Close_Window {
- # Si vous retournez FALSE dans le gestionnaire de lévènement
- # delete_event, alors le signal destroy sera emis.
- # Si vous retournez TRUE, cest que vous ne voulez pas que la
- # fenêtre soit détruite.
- # Cest utile si on veut demander une confirmation du style
- # voulez-vous vraiment quitter ? dans une boîte de dialogue.
- # Changez TRUE en FALSE et la fenêtre principale sera détruite.
- return TRUE ;
- }
- ### La fonction de rappel pour fermer la fenêtre
- sub Destroy_Window {
- Gtk2->main_quit ;
- return FALSE ;
- }
|
Je suis sous mandrake 10.0, RPM perl tous installés.
Quel est le problème ? Message édité par jjgan le 28-08-2004 à 00:50:15 ---------------
Qui suis-je ? Que fais-je ? | phpLister | Perdu ? Vous êtes ici --> *
|