This is an archive copy of wikilivres.ca as of 18 February 2017 (from the WikiTeam dump). The original site is closed.
Page:Swinnen - Apprendre Python, 2010.djvu/126
Free texts and images.
Jump to navigation
Jump to search
104
Chapitre 8 — Utilisation de fenêtres et de graphismes
Pour obtenir une vraie référence du widget, vous devez obligatoirement utiliser deux instructions :
entree = Entry(fen1) # instanciation du widget
entree.pack() # application de la mise en page
|
|
Lorsque vous utilisez la méthode grid(), vous pouvez simplifier encore un peu votre code, en omettant l’indication de nombreux numéros de lignes et de colonnes. À partir du moment où c’est la la méthode grid()qui est utilisée pour positionner les widgets, tkinter considère en effet qu’il existe forcément des lignes et des colonnes[1]. Si un numéro de ligne ou de colonne n’est pas indiqué, le widget correspondant est placé dans la première case vide disponible.
|
Exercices
Le script ci-dessous intègre les simplifications que nous venons d’expliquer :
from Tkinter import *
fen1 = Tk()
- création de widgets Label(), Entry(), et Checkbutton() :
Label(fen1, text = 'Premier champ :').grid(sticky =E)
Label(fen1, text = 'Second :').grid(sticky =E)
Label(fen1, text = 'Troisième :').grid(sticky =E)
entr1 = Entry(fen1)
entr2 = Entry(fen1) # ces widgets devront certainement
entr3 = Entry(fen1) # être référencés plus loin :
entr1.grid(row =0, column =1) # il faut donc les assigner chacun
entr2.grid(row =1, column =1) # à une variable distincte
entr3.grid(row =2, column =1)
chek1 = Checkbutton(fen1, text ='Case à cocher, pour voir')
chek1.grid(columnspan =2)
- création d'un widget 'Canvas' contenant une image bitmap :
can1 = Canvas(fen1, width =160, height =160, bg ='white')
photo = PhotoImage(file ='Martin_P.gif')
can1.create_image(80,80, image =photo)
can1.grid(row =0, column =2, rowspan =4, padx =10, pady =5)
- démarrage :
fen1.mainloop()
|
- ↑ Surtout, n’utilisez pas plusieurs méthodes de positionnement différentes dans la même fenêtre ! Les méthodes grid(), pack() et place() sont mutuellement exclusives.
