Chinese (People's Republic of China)  English  Français


Supinfo-Projects.com
Tous les projets des élèves ingénieurs de Supinfo



Projets
  Dernier Projet
  Les plus populaires
  Tous les Projets

229 Visiteurs
3168 Projets


My Supinfo-Projects

   Connectez-vous
   Créez un Compte


Synopsis

   118 Visites
   Note INTERNET : 14
    (5 Votants)
   1 Commentaires

   Lire l'article

Evaluez cet article

20
18
16
14
12
10
8
6
4
2
0


Commentez cet article

Auteur :

Email :

Votre commentaire :



 
2005 - Note de Synthèse Stage
Programmation Graphique avec Gtk2-Perl
[30 mn de lecture - paru le 10/7/2004 10:34:59 AM - Public : Confirmé]

Auteur

artistPrzemyslaw BRODACKI
Elève-Ingénieur Supinfo Paris
Promotion SUPINFO 2004

   Lui écrire
   Tous les projets de cet auteur
   Le mini-CV de cet auteur

3. Eléments Avancés

    3.1. Champs texte

Les champs de texte peuvent parraître simples. Mais ils peuvent réagir à de multiples signaux.

$entree = Gtk::Entry->new();

L'objet ci-dessus est un champ texte où on ne peut taper qu'une seul ligne. Le contenu est modifiable avec:

$entree->set_text( $text );  
$entree->append_text( $text );  
$entree->prepend_text( $text );

On peut aussi masquer le texte, le rendre invisible:

$entree->set_visibility($visible ); #valeur booléenne.

On peut aussi créer de grands champs de texte:

$editable->select_region( $start, $end );

Et modifier le contenu à l'aide:

$editable->insert_text( $new_text, $position );
$editable->delete_text( $start, $pos );
$editable->get_chars( $start, $end );
$editable->cut_clipboard();
$editable->copy_clipboard();
$editable->paste_clipboard();
$editable->delete_selection();

Voilà de quoi créer un joli éditeur de texte. Les méthodes ont des noms assez explicites, il est donc inutiles de les détailler.

Toutes ces actions provoquent des signaux qui peuvent être utilisés comme 'changed', 'insert-text', 'delete-text'. La aussi le nombre de signaux est très important et donc imossible à détailler dans cette introduction.

    3.2. Dialogues

Les boites de dialogue permettent une interaction avec l'utilisateur et peuvent le forcer à effectuer un choix. Ce sont des éléments indispensables d'une application:

$dialog = Gtk2::Dialog->new($titre,$parent,$flags...);

Les boites de dialogue contiennent en général du texte (un label) et des boutons. Pour ce faire, ces éléments sont empilés à l'aide de VBOX. On crée donc une VBOX dans laquelle on empile un label, un bouton et voilà notre boite de dialogue toute prête.

Les actions sur les boites sont nombreuses et peuvent toutes être interprétées par des signaux assez explicites:

- 'none'  
- 'reject'  
- 'accept'  
- 'delete-event'  
- 'ok'  
- 'cancel'  
- 'close'  
- 'yes'  
- 'no'  
- 'apply'  
- 'help'

Il n'est pas nécessaire de créer de toute pièce une boite de dialogue. On peut toujours utiliser une boite de dialogue prédéfinie:

$dialog = Gtk2::MessageDialog->new ($fenetre_parente,  
                                        $flags,$type,$bouton,..  
                                        $message);  

avec comme types:

- 'info'
- 'question'
- 'error'
- 'warrning'

    3.3. Onglets

Les onglets sont un moyen facile d'avoir plusieurs pages dans une même fenêtre.

$onglets = Gtk2::Notebook->new();

Il ne suffit plus qu'à ajouter des pages:

$onglets->append_page( $child, $tab_label );

On peut bien entendu le faire par le début, par la fin ou par insertion en remplacent append par prepend ou insert (insert nécessite un troisième peramétre qui est $position. )

Les opérations qui peuvent être effectués sur les pages sont tout aussi nombreuses:

$onglets->remove_page( $page_num );
$onglets->get_current_page();
$onglets->page_num( $child );
$onglets->next_page();
$onglets->prev_page();
...

    3.4. Barre de progression

Les barres de progression permettent la visualisation de l'avancement d'une tâche.

$progress = Gtk2::ProgressBar->new();

On modifie l'avancement en mettant à jour le pourcentage d'avancement:

$progress->set_fraction($percentage );

Bien entendu la barre peut avancer de gauche à droite, de droite à gauche, de bas en haut et de haut en bas:

$progress->set_orientation( $orientation );

avec comme orientation:

- 'left_to_right'
- 'right_to_left'
- 'bottom_to_top'
- 'top_to_bottom'

Lors qu'une tâche ne peut pas être mesuré il est souvent utile d'en montrer l'activité plutôt qu'une fausse estimation:

$progress->pulse();
progress->set_pulse_step($fraction);

Un texte peut y être ajouté:

$progress->set_text( $text );



Articles de la même catégorie

 Pages : Top


171 Visites
0 Commentaires
Présentation des nouveautés du langage Java 5
[15 mn de lecture - paru le 10/7/2004 9:22:17 AM - Public : Confirmé]

En savoir plus


62 Visites
0 Commentaires
development VB6 and SQLSERVER
[15 mn de lecture - paru le 10/7/2004 7:45:04 AM - Public : Débutant]

En savoir plus


67 Visites
0 Commentaires
Dotnetnuke 2.1.2 Best Practices
[20 mn de lecture - paru le 10/7/2004 4:01:06 AM - Public : Débutant]

En savoir plus

   Tous les Articles


SUPINFO Training Center peut vous proposer une formation ...

   Devenez Ingénieur Système Microsoft en 35 jours avec SUPINFO Training Center
   Devenez Certifiés Cisco en 13 jours avec SUPINFO Training Center
   Devenez Administrateur Système Microsoft avec SUPINFO Training Center
   Devenez Développeur Microsoft .NET en 13 jours avec SUPINFO Training Center



Powered by Campus-Booster Technology
Conditions d'utilisation & Copyright | Respect de la vie privée
© Copyright 1965-2006 Supinfo Paris, Paris Academy of Computer Science
Supinfo, Ecole Supérieure d'Informatique et Paris Academy Of Computer Science are trade marks.
23, rue de Château LANDON - 75010 PARIS - Phone : +33 (0) 153359 700 Fax : +33 (0) 153359 701

Web site autided by :