IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Apprendre à utiliser le module Python PyGTK 2.0


précédentsommairesuivant

V. Chapitre 5. Vue d'ensemble des widgets

Avec PyGTK, l'utilisation d'un widget passe en général par les étapes suivantes :

  • invoquer gtk.* - l'une des différentes fonctions de création de widget. Elles sont toutes détaillées dans cette section ;
  • connecter tous les signaux et événements que l'on veut utiliser aux gestionnaires appropriés ;
  • configurer les attributs du widget ;
  • placer le widget dans un conteneur grâce à l'appel ad hoc : gtk.Container.add(), gtk.Box.pack_start(), etc. ;
  • afficher le widget avec gtk.Widget.show().

show() fait savoir à GTK que la préparation du widget est achevée et qu'il peut maintenant être affiché. Pour le faire disparaître à nouveau, vous pouvez utiliser gtk.Widget.hide(). L'ordre d'affichage des widgets n'est pas important, mais je conseille d'afficher la fenêtre en dernier de sorte que celle-ci apparaisse complète, plutôt que de voir chaque widget s'y afficher à tour de rôle. Les enfants d'un widgets (une fenêtre est aussi un widget) ne seront pas affichés tant que la fenêtre elle-même ne l'aura pas été avec la méthode show().

V-A. Hiérarchie des widgets

Pour information, voici représentée sous forme d'arbre la hiérarchie des classes utilisées pour implémenter les widgets (les widgets obsolètes et les classes auxiliaires ont été omis).

 
Sélectionnez
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.
gobject.GObject
 |
 gtk.Object
  +gtk.Widget
  | +gtk.Misc
  | | +gtk.Label
  | | | `gtk.AccelLabel
  | | +gtk.Arrow
  | | `gtk.Image
  | +gtk.Container
  | | +gtk.Bin
  | | | +gtk.Alignment
  | | | +gtk.Frame
  | | | | `gtk.AspectFrame
  | | | +gtk.Button
  | | | | +gtk.ToggleButton
  | | | | | `gtk.CheckButton
  | | | | |   `gtk.RadioButton
  | | | | `gtk.OptionMenu
  | | | +gtk.Item
  | | | | +gtk.MenuItem
  | | | |   +gtk.CheckMenuItem
  | | | |   | `gtk.RadioMenuItem
  | | | |   +gtk.ImageMenuItem
  | | | |   `gtk.TearoffMenuItem
  | | | +gtk.Window
  | | | | +gtk.Dialog
  | | | | | +gtk.ColorSelectionDialog
  | | | | | +gtk.FileSelection
  | | | | | +gtk.FontSelectionDialog
  | | | | | +gtk.InputDialog
  | | | | | `gtk.MessageDialog
  | | | | `gtk.Plug
  | | | +gtk.EventBox
  | | | +gtk.HandleBox
  | | | +gtk.ScrolledWindow
  | | | `gtk.Viewport
  | | +gtk.Box
  | | | +gtk.ButtonBox
  | | | | +gtk.HButtonBox
  | | | | `gtk.VButtonBox
  | | | +gtk.VBox
  | | | | +gtk.ColorSelection
  | | | | +gtk.FontSelection
  | | | | `gtk.GammaCurve
  | | | `gtk.HBox
  | | |   +gtk.Combo
  | | |   `gtk.Statusbar
  | | +gtk.Fixed
  | | +gtk.Paned
  | | | +gtk.HPaned
  | | | `gtk.VPaned
  | | +gtk.Layout
  | | +gtk.MenuShell
  | | | +gtk.MenuBar
  | | | `gtk.Menu
  | | +gtk.Notebook
  | | +gtk.Socket
  | | +gtk.Table
  | | +gtk.TextView
  | | +gtk.Toolbar
  | | `gtk.TreeView
  | +gtk.Calendar
  | +gtk.DrawingArea
  | | `gtk.Curve
  | +gtk.Editable
  | | +gtk.Entry
  | | | `gtk.SpinButton
  | +gtk.Ruler
  | | +gtk.HRuler
  | | `gtk.VRuler
  | +gtk.Range
  | | +gtk.Scale
  | | | +gtk.HScale
  | | | `gtk.VScale
  | | `gtk.Scrollbar
  | |   +gtk.HScrollbar
  | |   `gtk.VScrollbar
  | +gtk.Separator
  | | +gtk.HSeparator
  | | `gtk.VSeparator
  | +gtk.Invisible
  | +gtk.Preview
  | `gtk.ProgressBar
  | +gtk.Adjustment
  +gtk.CellRenderer
  | +gtk.CellRendererPixbuf
  | +gtk.CellRendererText
  | +gtk.CellRendererToggle
  +gtk.ItemFactory
  +gtk.Tooltips
  `gtk.TreeViewColumn

V-B. Les widgets sans fenêtre

Les widgets ci-dessous n'ont pas de fenêtre associée. Si vous voulez capter des événements, il vous faudra utiliser une boiteàLa boîte à évènement (EventBox)événements.

 
Sélectionnez
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
  gtk.Alignment
  gtk.Arrow
  gtk.Bin
  gtk.Box
  gtk.Button
  gtk.CheckButton
  gtk.Fixed
  gtk.Image
  gtk.Label
  gtk.MenuItem
  gtk.Notebook
  gtk.Paned
  gtk.RadioButton
  gtk.Range
  gtk.ScrolledWindow
  gtk.Separator
  gtk.Table
  gtk.Toolbar
  gtk.AspectFrame
  gtk.Frame
  gtk.VBox
  gtk.HBox
  gtk.VSeparator
  gtk.HSeparator

Nous poursuivrons notre exploration de PyGTK en examinant chaque widget tour à tour et en créant quelques petits programmes simples pour les afficher.


précédentsommairesuivant

Copyright © 2005 John Finlay. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.