-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsec-FontSelectionDialog.html
More file actions
126 lines (98 loc) · 7.12 KB
/
Copy pathsec-FontSelectionDialog.html
File metadata and controls
126 lines (98 loc) · 7.12 KB
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
<!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.15. Le sélecteur de police</title>
<link rel="stylesheet" href="pygtktutfr.css" type="text/css">
<meta name="keywords" content="python,pygtk,tutoriel,traduction,fonte,police">
<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="sec-FileSelections.html" title="9.14. Le sélecteur de fichier">
<link rel="next" href="ch-ContainerWidgets.html" title="Chapitre 10. Les widgets conteneurs">
</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.15. Le sélecteur de police</th>
</tr><tr>
<td width="20%" align="left"><a accesskey="p" href="sec-FileSelections.html">Préc.</a></td>
<th width="60%" align="center">Chapitre 9. Widgets divers</th>
<td width="20%" align="right"><a accesskey="n" href="ch-ContainerWidgets.html">Suiv.</a></td>
</tr></table>
<hr>
</div>
<div class="sect1"><div class="titlepage">
<div><h2 class="title" style="clear: both"><a name="SelecteurPolice"></a>9.15. Le sélecteur de police</h2></div></div>
<p>Le <tt>gtk.FontSelectionDialog</tt> permet à l'utilisateur de sélectionner interactivement une police pour le programme. Il s'agit d'une boite de dialogue contenant un widget <tt>gtk.FontSelection</tt> et des boutons "Valider" et "Annuler". Un bouton "Appliquer" est également disponible mais il est caché par défaut. Le sélecteur de fichier permet de choisir parmi les polices système disponibles (les mêmes que celles qu'on obtient avec <b>xlsfonts</b>).</p>
<p>La <a href="sec-FontSelectionDialog.html#FigSelectionPolice" title="Figure 9.15. Boite de dialogue du sélecteur de police">Figure 9.15</a> montre la boite de dialogue du sélecteur de police :</p>
<div class="figure"><a name="FigSelectionPolice"></a>
<p class="title"><b>Figure 9.15. Boite de dialogue du sélecteur de police</b></p>
<div class="mediaobject" align="center">
<img src="figures/selectpolice.png" align="middle" alt="exemple sélecteur de police">
</div></div>
<p>La boite de dialogue contient un ensemble de trois onglets qui proposent :</p>
<div class="itemizedlist"><ul type="disc">
<li><p>une interface de sélection de la police, de son style et de sa taille</p></li>
<li><p>des informations détaillées sur la police sélectionnée</p></li>
<li><p>une interface pour le mécanisme de filtrage des polices, qui décide des polices pouvant être sélectionnées</p></li>
</ul></div>
<p>La fonction de création de cette boite de dialogue est la suivante :</p>
<pre class="programlisting">
dialselectpolice = gtk.FontSelectionDialog(<b><tt>title</tt></b>)
</pre>
<p>Le titre (<i><tt>title</tt></i>) est une chaine de caractères qui sera utilisée comme texte pour la barre de titre.</p>
<p>Une instance de <tt>gtk.FontSelectionDialog</tt> possède plusieurs attributs :</p>
<pre class="programlisting">
fontsel
main_vbox
action_area
ok_button
apply_button
cancel_button
</pre>
<p>L'attribut <i><tt>fontsel</tt></i> fait référence au widget de sélection de police, et <i><tt> main_vbox</tt></i> à la boite verticale contenant ce dernier ainsi que l'"action_area". <i><tt>action_area</tt></i> se réfère à la <tt>gtk.HButtonBox</tt> qui contient les boutons 'Valider', 'Appliquer' et 'Annuler'. Les attributs <i><tt>ok_button</tt></i>, <i><tt>cancel_button</tt></i> et <i><tt>apply_button</tt></i> se rapportent aux boutons 'Valider', 'Appliquer' et 'Annuler' et peuvent servir à établir des connexions aux signaux de ces derniers. <i><tt>apply_button</tt></i> peut servir à afficher le bouton 'Appliquer'.</p>
<p>Avec la méthode qui suit, on peut définir la police qui doit être initialement affichée dans le sélecteur de police :</p>
<pre class="programlisting">
dialselectpolice.set_font_name(<b><tt>fontname</tt></b>)
</pre>
<p>L'argument <i><tt>fontname</tt></i> (nom de police) attend le nom d'une police système intégralement ou partiellement spécifiée. Par exemple :</p>
<pre class="programlisting">
dialselectpolice.set_font_name('-adobe-courier-bold-*-*-*-*-120-*-*-*-*-*-*')
</pre>
<p>... spécifie partiellement la police initiale.</p>
<p>Le nom de la police sélectionnée peut être récupéré avec cette méthode :</p>
<pre class="programlisting">
nom_police = dialselectpolice.get_font_name()
</pre>
<p>La boite de dialogue du sélecteur de police dispose d'une zone d'aperçu qui affiche du texte dans la police sélectionnée. Le texte utilisé dans cette zone d'aperçu peut être défini avec la méthode :</p>
<pre class="programlisting">
dialselectpolice.set_preview_text(<b><tt>text</tt></b>)
</pre>
<p>Le texte de l'aperçu peut être récupéré à l'aide de la méthode suivante :</p>
<pre class="programlisting">
texte = dialselectpolice.get_preview_text()
</pre>
<p>Le programme exemple <a href="exemples/calendrier.py" target="_top"><b>calendrier.py</b></a> utilise un <tt>gtk.FontSelectionDialog</tt> pour la sélection de la police du calendrier. Les lignes 106 à 111 définissent une fonction de rappel qui récupère le nom de la police à partir du sélecteur de police et l'utilise pour définir la police du calendrier. Les lignes 113-132 définissent la méthode qui crée le sélecteur de police, connecte les boutons 'Valider' et 'Annuler' à leur fonction de rappel, et affiche la boite de dialogue.</p></div>
<div class="navfooter">
<hr>
<table width="100%" summary="Bas de page de navigation">
<tr>
<td width="40%" align="left"><a accesskey="p" href="sec-FileSelections.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="ch-ContainerWidgets.html">Suiv.</a></td>
</tr><tr>
<td width="40%" align="left" valign="top">9.14. Le sélecteur de fichier</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">Chapitre 10. Les widgets conteneurs</td>
</tr></table>
</div>
</body>
</html>