SEANCE 8 Python Interfaces graphiques Lycée Louis Vincent Lundi 16 décembre 20131

  • Published on
    04-Apr-2015

  • View
    105

  • Download
    3

Embed Size (px)

Transcript

<ul><li> Page 1 </li> <li> SEANCE 8 Python Interfaces graphiques Lyce Louis Vincent Lundi 16 dcembre 20131 </li> <li> Page 2 </li> <li> Contenu de la sance 8 : 2 Lundi 16 dcembre 2013 La programmation objet Les widgets. Les labels. Les zones de saisie. Les boutons. </li> <li> Page 3 </li> <li> Interfaces graphiques Elles permettent de rendre les programmes plus conviviaux. Une interface graphique est constitue de composants (ou encore widgets) qui sont la source dvnements. Le droulement dun programme avec interface graphique est diffrent des programmes vus jusqu prsent. Composants ou widgets : ce sont des boutons, zones de saisie, zones de dessin, labels, listes droulantes, botes cocher, bouton radio Un vnement : clic sur un bouton de la souris, saisie dun texte, toucher Entre, flches du clavier Lundi 16 dcembre 2013 3 </li> <li> Page 4 </li> <li> Interfaces graphiques et Python Plusieurs librairies (modules) en python sont disponibles pour raliser des interfaces graphiques : tkinter (python version 3) Tkinter (version 2) wxPython Plus complexe et complet que tkinter pyQT, pyGTK Pygame http://wiki.python.org/moin/TkInter http://docs.python.org/3.2/library/tkinter.html http://www.pythonware.com/library/tkinter/introduction/ http://www.pythonware.com/media/data/an- introduction-to-tkinter.pdfwww.pythonware.com/media/data/an- introduction-to-tkinter.pdf Lundi 16 dcembre 2013 4 </li> <li> Page 5 </li> <li> Les widgets A chaque widget correspond une classe Instanciation de lobjet avec une mthode constructeur (commence par une majuscule et porte le nom de la classe du widget, plusieurs existent par widget) Ajout de lobjet linterface (ie la fentre racine) avec la mthode pack Des mthodes communes tous les widgets : pack(), grid(),place(),config(),... Lundi 16 dcembre 2013 5 </li> <li> Page 6 </li> <li> La fentre racine Squelette du programme construisant une interface graphique (IG) From tkinter import *# pour la version 3 de Python # et Tkinter pour la version 2 fen=Tk() # cration de la fentre principale et affectation de linstance dans la variable fen Ajout des diffrents widgets fen.mainloop() #Affiche la fentre pricipale et provoque le dmarrage du rceptionnaire d'vnement qui se met l'coute des vnements pouvant survenir dans la fentre issus de diffrents widgets Lundi 16 dcembre 2013 6 </li> <li> Page 7 </li> <li> Les zones de saisie : classe Entry Lundi 16 dcembre 2013 8 Elles sont utilises pour la saisie de textes par lutilisateur. Quelques proprits pouvant tre initialises lappel du constructeur Entry () : bg=" couleur de fond", fb= couleur du texte",db=bordure, width =largeur en caractres de la zone de saisie Une mthode : get() : permet dobtenir le contenu de la zone de saisie, renvoie une chane Exemple : exEntry_V3.py </li> <li> Page 9 </li> <li> La classe Entry : Lundi 16 dcembre 2013 9 from tkinter import * fen=Tk() obj=Label(text="zone de saisie :") obj.pack() obj2=Entry(bg="grey",fg="blue",width=55) obj2.insert(0,"Le chat est dans le grenier") ch=obj2.get() print (ch) obj2.insert(16," le jardin ou") ch=obj2.get() print (ch) obj2.delete(27,55) obj2.pack() ch=obj2.get() print (ch) fen.mainloop() </li> <li> Page 10 </li> </ul>