-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsec-Arrows.html
172 lines (152 loc) · 6.56 KB
/
sec-Arrows.html
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-15" http-equiv="Content-Type">
<title>9.2. Les flèches</title>
<link rel="stylesheet" href="pygtktutfr.css" type="text/css">
<meta name="keywords" content="python,pygtk,tutoriel,traduction,fleche">
<link rel="start" href="index.html" title="Tutoriel PyGTK 2.0">
<link rel="home" href="index.html" title="Table des matières">
<link rel="up" href="ch-MiscellaneousWidgets.html" title="Chapitre 9. Widgets divers">
<link rel="previous" href="ch-MiscellaneousWidgets.html" title="Chapitre 9. Widgets divers">
<link rel="next" href="sec-TooltipsObject.html" title="9.3. Les infobulles">
</head>
<body>
<div class="localisation">
Vous êtes à peu près ici :
<a href="../../index.html">Accueil</a> »
<a href="../pygtktut.php">tutoriel PyGTK</a> »
<a href="index.html">PyGTK : sommaire</a>
</div> <!-- fin localisation -->
<div class="navheader">
<table width="100%" summary="En-tête de navigation">
<tr>
<th colspan="3" align="center">9.2. Les flèches</th>
</tr><tr>
<td width="20%" align="left"><a accesskey="p" href="ch-MiscellaneousWidgets.html">Préc.</a></td>
<th width="60%" align="center">Chapitre 9. Widgets divers</th>
<td width="20%" align="right"><a accesskey="n" href="sec-TooltipsObject.html">Suiv.</a></td>
</tr></table>
<hr>
</div>
<div class="sect1"><div class="titlepage">
<div><h2 class="title" style="clear: both"><a name="sec-Arrows"></a>9.2. Les flèches</h2></div></div>
<p>Le widget <tt>gtk.Arrow</tt> consiste en une tête de flèche pouvant
pointer dans différentes directions et à laquelle on peut appliquer un
certain nombre de styles. Dans beaucoup d'applications, ce widget se révèlera
très utile une fois placé à l'intérieur d'un bouton. A l'instar
des étiquettes, il n'émet pas de signaux.</p>
<p>Pour manipuler les flèches, il n'y a que deux appels :</p>
<pre class="programlisting">
fleche = gtk.Arrow(<b><tt>arrow_type</tt></b>, <b><tt>shadow_type</tt></b>)
fleche.set(<b><tt>arrow_type</tt></b>, <b><tt>shadow_type</tt></b>)
</pre>
<p>Le premier crée une flèche, en prenant en compte le type et le style
demandés. Le second appel permet de modifier ces valeurs après la
création. L'argument <i><tt>arrow_type</tt></i> (type de flèche) peut
prendre l'une des valeurs suivantes :</p>
<pre class="programlisting">
ARROW_UP # haut
ARROW_DOWN # bas
ARROW_LEFT # gauche#!/usr/bin/env python
ARROW_RIGHT # droite
</pre>
<p>Ces valeurs indiquent évidemment la direction dans laquelle pointera la
flèche. Les valeurs possibles pour l'argument <i><tt>shadow_type</tt></i>
(type d'ombre) sont :</p>
<pre class="programlisting">
SHADOW_IN # empreinte
SHADOW_OUT # relief (par défaut)
SHADOW_ETCHED_IN # contour en empreinte
SHADOW_ETCHED_OUT # contour en relief
</pre>
<p>Le programme exemple <a href="exemples/fleches.py" target="_top"><b>fleches.py</b></a>
donne un aperçu de l'utilisation du widget <tt>gtk.Arrow</tt>. La
<a href="sec-Arrows.html#FigFleches" title="Figure 9.2. Exemple de boutons avec
flèches">Figure 9.2</a> montre la fenêtre que l'on obtient au lancement
du programme :</p>
<div class="figure"><a name="FigFleches"></a>
<p class="title"><b>Figure 9.2. Exemple de boutons avec flèches</b></p>
<div class="mediaobject" align="center"><img src="figures/fleches.png" align="middle"
alt="exemple de flèche">
</div></div>
<p>Voici le code source de <a href="exemples/fleches.py" target="_top"><b>fleches.py</b>
</a> :</p>
<pre class="programlisting">
1 #!/usr/bin/env python
2
3 # exemple fleches.py
4
5 import pygtk
6 pygtk.require('2.0')
7 import gtk
8
9 # On cree une fleche avec les parametres specifies
10 # et on la place dans un bouton
11 def cree_fleche_bouton(type, ombre):
12 bouton = gtk.Button();
13 fleche = gtk.Arrow(type, ombre);
14 bouton.add(fleche)
15 bouton.show()
16 fleche.show()
17 return bouton
18
19 class Fleches:
20 def __init__(self):
21 # Creation d'une fenetre
22 fenetre = gtk.Window(gtk.WINDOW_TOPLEVEL)
23
24 fenetre.set_title("Fleches dans boutons")
25
26 # C'est une bonne idee de faire ceci pour chaque fenetre
27 fenetre.connect("destroy", gtk.main_quit)
28
29 # On fixe la largeur des bordures de la fenetre
30 fenetre.set_border_width(10)
31
32 # On cree une boite pour contenir les boutons/fleches
33 boite = gtk.HBox(False, 0)
34 boite.set_border_width(2)
35 fenetre.add(boite)
36
37 # On place et on affiche tous nos widgets
38 boite.show()
39
40 bouton = cree_fleche_bouton(gtk.ARROW_UP, gtk.SHADOW_IN)
41 boite.pack_start(bouton, False, False, 3)
42
43 bouton = cree_fleche_bouton(gtk.ARROW_DOWN, gtk.SHADOW_OUT)
44 boite.pack_start(bouton, False, False, 3)
45
46 bouton = cree_fleche_bouton(gtk.ARROW_LEFT, gtk.SHADOW_ETCHED_IN)
47 boite.pack_start(bouton, False, False, 3)
48
49 bouton = cree_fleche_bouton(gtk.ARROW_RIGHT, gtk.SHADOW_ETCHED_OUT)
50 boite.pack_start(bouton, False, False, 3)
51
52 fenetre.show()
53
54 def main():
55 gtk.main()
56 return 0
57
58 if __name__ == "__main__":
59 Fleches()
60 main()
</pre>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Bas de page de navigation">
<tr>
<td width="40%" align="left"><a accesskey="p" href="ch-MiscellaneousWidgets.html">Préc.</a></td>
<td width="20%" align="center"><a accesskey="u" href="ch-MiscellaneousWidgets.html">Chapitre parent</a></td>
<td width="40%" align="right"><a accesskey="n" href="sec-TooltipsObject.html">Suiv.</a></td>
</tr><tr>
<td width="40%" align="left" valign="top">Chapitre 9. Widgets divers</td>
<td width="20%" align="center"><a accesskey="h" href="index.html">Table des matières</a></td>
<td width="40%" align="right" valign="top">9.3. Les infobulles</td>
</tr></table>
</div>
</body>
</html>