Différences entre les versions de « Programmation Python/Utilisation de fenêtres et de graphismes »

+ images
(+ images)
(+ images)
== Utilisation de la méthode grid() pour contrôler la disposition des widgets ==
 
[[Image:Apprendre à programmer avec Python 24.png|right]]
{{image manquante}}
 
Jusqu'à présent, nous avons toujours disposé les widgets dans leur fenêtre, à l'aide de la méthode <code>pack()</code>. Cette méthode présentait l'avantage d'être extraordinairement simple, mais elle ne nous donnait pas beaucoup de liberté pour disposer les widgets à notre guise. Comment faire, par exemple, pour obtenir la fenêtre ci-contre ?
... mais le résultat n'est pas vraiment celui que nous recherchions !!! :
 
[[Image:Apprendre à programmer avec Python 25.png|center]]
{{image manquante}}
 
Pour mieux comprendre comment fonctionne la méthode <code>pack()</code>, vous pouvez encore essayer différentes combinaisons d'options, telles que side <code>=TOP</code>, side <code>=BOTTOM</code>, pour chacun de ces quatre widgets. Mais vous n'arriverez certainement pas à obtenir ce qui vous a été demandé. Vous pourriez peut-être y parvenir en définissant deux widgets <code>Frame()</code> supplémentaires, et en y incorporant ensuite séparément les widgets <code>Label()</code> et <code>Entry()</code>. Cela devient fort compliqué.
Il est temps que nous apprenions à utiliser une autre approche du problème. Veuillez donc analyser le script ci-dessous : il contient en effet (presque) la solution :
 
[[Image:Apprendre à programmer avec Python 26.png|right]]
<pre>
from Tkinter import *
txt1 = Label(fen1, text = 'Premier champ :') {{image manquante}}
txt2 = Label(fen1, text = 'Second :')
entr1 = Entry(fen1)
entr2 = Entry(fen1)
txt1.grid(row =0)
==== Analysons à présent la fenêtre suivante : ====
 
[[Image:Apprendre à programmer avec Python 27.png|center]]
{{image manquante}}
 
Cette fenêtre comporte 3 colonnes : une première avec les 3 chaînes de caractères, une seconde avec les 3 champs d'entrée, et une troisième avec l'image. Les deux premières colonnes comportent chacune 3 lignes, mais l'image située dans la dernière colonne s'étale en quelque sorte sur les trois.
8 843

modifications