1 / 11

SEANCE 8

SEANCE 8. Python Interfaces graphiques. La programmation objet Les widgets . Les labels. Les zones de saisie. Les boutons. Contenu de la séance 8 :. Lundi 16 décembre 2013. Elles permettent de rendre les programmes plus conviviaux.

barid
Download Presentation

SEANCE 8

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SEANCE 8 Python Interfaces graphiques Lundi 16 décembre 2013

  2. La programmation objet • Les widgets. • Les labels. • Les zones de saisie. • Les boutons. Contenu de la séance 8 : Lundi 16 décembre 2013

  3. Elles permettent de rendre les programmes plus conviviaux. • Une interface graphique est constituée de composants (ou encore widgets) qui sont la source d’évènements. • Le déroulement d’un programme avec interface graphique est différent des programmes vus jusqu’à présent. • Composants ou widgets : ce sont des boutons, zones de saisie, zones de dessin, labels, listes déroulantes, boîtes à cocher, bouton radio … • Un évènement : clic sur un bouton de la souris, saisie d’un texte, toucher Entrée, flèches du clavier … Interfaces graphiques

  4. Plusieurs librairies (modules) en python sont disponibles pour réaliser 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.pdf Interfaces graphiques et Python

  5. A chaque widget correspond une classe • Instanciation de l’objet avec une méthode constructeur (commence par une majusculeet porte le nom de la classe du widget, plusieurs existent par widget) • Ajout de l’objet à l’interface (ie à la fenêtre racine) avec la méthode pack • Des méthodes communes à tous les widgets : pack(), grid(),place(),config(), ... Les widgets

  6. Squelette du programme construisant une interface graphique (IG) Fromtkinter import *# pour la version 3 de Python # et Tkinterpour la version 2 fen=Tk() # création de la fenêtre principale et affectation de l’instance dans la variable fen Ajout des différents widgets fen.mainloop() #Affiche la fenêtre pricipale et provoque le démarrage du réceptionnaire d'événement qui se met à l'écoute des événements pouvant survenir dans la fenêtre issus de différents widgets La fenêtre racine

  7. Ils sont utilisés pour afficher des textes et des images. • Quelques propriétéspouvant être initialisées à l’appel du constructeur Label (…) : text=" texte du balel", bg=" couleur de fond", fb =" couleur du texte",db=bordure, width=largeur, height=hauteur,... • Exemple : exLabel_V3.py fromtkinterimport * fen=Tk() obj=Label(text= "zone de txt",bg= "blue",fg= "yellow",bd=3) obj.pack() obj2=Label(bitmap= "question",bg= "red",fg= "grey",bd=5) obj2.pack() fen.mainloop() Les labels : classe Label

  8. Elles sont utilisées pour la saisie de textes par l’utilisateur. • Quelques propriétéspouvant être initialisées à l’appel du constructeur Entry (…) : bg=" couleur de fond", fb=« couleur du texte",db=bordure, width =largeur en caractères de la zone de saisie … • Une méthode : • get() : permet d’obtenir le contenu de la zone de saisie, renvoie une chaîne • Exemple : exEntry_V3.py Les zones de saisie : classe Entry

  9. fromtkinter 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() La classe Entry :

  10. ils sont utilisés pour insérer des boutons dans une interface graphique. Un bouton est relié à une action ! • Quelques propriétéspouvant être initialisées à l’appel du constructeur Button(…) : text=" texte du bouton", bg=" couleur de bouton", fb=" couleur du texte",image (image sur le bouton), command=pour associer une fonction au bouton • Une méthode : • invoke() : permet de rappeler la commande associée au bouton • Exemple : exButton_V3.py Les boutons : classe Button

  11. fromtkinterimport * #FONCTIONS defplus(): global nb nb=nb+1 l.config(text=nb) l.pack() #PROGRAMME PRINICIPAL fen=Tk() nb=0 l=Label(text=nb) l.pack() b=Button(text= "Incrémenter",command=plus) b.pack() fen.mainloop() #Affiche la fenêtre pricipale et provoque le démarrage du gestionnaire La classe Button :

More Related