Cours python cogmaster : Manipulations 4
7 pages
Français

Cours python cogmaster : Manipulations 4

-

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
7 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

  • cours - matière potentielle : python cogmaster
Apprendre à programmer avec Python - Nicolas Larrousse - cogmaster 2010 – Manips 4 - page 1 Cours python cogmaster : Manipulations 4 Interface graphique avec le module Tkinter ... - Ouvrir une fenêtre _-*- coding:latin-1 -*- from Tkinter import * fenetre=Tk() fenetre.geometry(400x300) fenetre.mainloop() - Afficher un texte _-*- coding:latin-1 -*- from Tkinter import * fenetre= Tk() fenetre.
  • return reponse justes
  • fichier graphique pour la photo
  • tkinter import
  • def tracecercle
  • interface graphique avec le module tkinter
  • import
  • afficher des cercles de couleurs
  • reponse
  • affichage
  • affichages
  • couleur
  • couleurs

Sujets

Informations

Publié par
Nombre de lectures 99
Langue Français

Exrait

Cours python cogmaster : Manipulations 4 Interface graphique avec le module Tkinter ... -Ouvrir une fenêtre #-*- coding:latin-1 -*-from Tkinter import * fenetre=Tk() fenetre.geometry("400x300") fenetre.mainloop() -Afficher un texte #-*- coding:latin-1 -*-from Tkinter import * fenetre= Tk() fenetre.geometry("400x300") letexte=Label(fenetre, text="Travailler plus\n Pour gagner plus", fg="blue") letexte.pack(side=RIGHT) fenetre.mainloop() -Afficher un bouton#-*- coding:latin-1 -*-from Tkinter import * fenetre=Tk() fenetre.geometry("400x300") bouton= Button(fenetre, text="Quitter", command=fenetre.quit) bouton.pack(side= BOTTOM) fenetre.mainloop( ) fenetre.destroy( ) -Afficher une zone de saisie (on affiche la saisie en mode texte)#-*- coding:latin-1 -*-from Tkinter import * fenetre=Tk() fenetre.geometry("400x300") letexte= Label(fenetre, text="Travailler plus\nPour gagner plus", fg="blue") letexte.pack(side= TOP) entree= StringVar() l_entree= Entry(textvariable=entree, width=30) l_entree.pack() bouton=Button(fenetre, text="Quitter", command=fenetre.quit) bouton.pack(side=BOTTOM) fenetre.mainloop() print l_entree.get()
Apprendre à programmer avec Python - Nicolas Larrousse - cogmaster 2010 – Manips 4 - page 1
-Afficher des boutons  radios » (on affiche la saisie en mode texte)#-*- coding:latin-1 -*-from Tkinter import * fenetre=Tk() fenetre.geometry("400x300") letexte=Label(fenetre, text="Travailler plus\nPour gagner plus", fg="red") letexte.pack(side=TOP) retour=IntVar() bouton1=Radiobutton(fenetre,text="Oui", variable=retour, value=2) bouton2=Radiobutton(fenetre,text="Non", variable=retour, value=3) bouton1.pack() bouton2.pack() bouton=Button(fenetre, text="Quitter", command=fenetre.quit) bouton.pack(side=BOTTOM) fenetre.mainloop() print retour.get() -Afficher la réponse dans une fenêtre (on détruit la première et on crée une deuxième fenêtre pour la réponse)#-*- coding:latin-1 -*-from Tkinter import * fenetre=Tk() fenetre.geometry("300x200") letexte=Label(fenetre, text="Travailler plus\nPour gagner plus", fg="blue") letexte.pack(side=TOP) retour=IntVar() bouton1=Radiobutton(fenetre,text="Oui", variable=retour, value=1) bouton2=Radiobutton(fenetre,text="Non", variable=retour, value=2) bouton1.pack() bouton2.pack() bouton=Button(fenetre, text="Quitter", command=fenetre.destroy) bouton.pack(side=BOTTOM) fenetre.mainloop() fenetre2=Tk() fenetre2.geometry("300x200") reponse=retour.get() if reponse==1:  jugement="C'est parfait ..." elif reponse==2:  jugement="C'est mal ..." else:  jugement="Il fallait répondre ..." letexte=Label(fenetre2, text=jugement, fg="red") letexte.pack(side=TOP) bouton2=Button(fenetre2, text="Quitter", command=fenetre2.quit) bouton2.pack(side=BOTTOM) fenetre2.mainloop()
Apprendre à programmer avec Python - Nicolas Larrousse - cogmaster 2010 – Manips 4 - page 2
-(on détruit la deuxième fenêtre après quelquesVariante du précédent secondes)#-*- coding:latin-1 -*-from Tkinter import * reponse=0 while (reponse!=1 and reponse !=2):  fenetre=Tk()  fenetre.geometry("300x200")  letexte=Label(fenetre, text="Travailler plus\nPour gagner plus", fg="blue")  letexte.pack(side=TOP)  retour=IntVar()  bouton1=Radiobutton(fenetre,text="Oui", variable=retour, value=1)  bouton2=Radiobutton(fenetre,text="Non", variable=retour, value=2)  bouton1.pack()  bouton2.pack()  bouton=Button(fenetre, text="Quitter", command=fenetre.destroy)  bouton.pack(side=BOTTOM)  fenetre.mainloop()  fenetre2=Tk()  fenetre2.geometry("300x200")  reponse=retour.get()  if reponse==1:  jugement="C'est parfait ..."  elif reponse==2:  jugement="C'est mal ..."  else:  jugement="Il fallait répondre ..."  letexte=Label(fenetre2, text=jugement, fg="red")  letexte.pack(side=TOP)  fenetre2.after(1500,fenetre2.destroy)  fenetre2.mainloop() -Afficher des cercles de couleurs et tailles aléatoires lorsque lon appuie sur un bouton. Utilisation de la notion de Canvas#-*- coding:latin-1 -*-from Tkinter import * from random import * def traceCercle(): pallette=['purple','cyan','maroon','green','red','blue','orange','yellow'] c=randrange(0,7) coul=pallette[c] x=randrange(50,350) y= randrange(50,350) d = randrange(1,30) canvas.create_oval(x-d,y-d,x+d,y+d,fill=coul) x,y= int(random()*200),int(random()*200) fenetre = Tk() canvas = Canvas(fenetre, height=400,width=400,bg='dark grey') canvas.pack(side=LEFT) bouton1 = Button(fenetre, text="Quitter", command=fenetre.quit)
Apprendre à programmer avec Python - Nicolas Larrousse - cogmaster 2010 – Manips 4 - page 3
bouton1.pack(side=BOTTOM) bouton2= Button(fenetre, text="Tracer un disque", command=traceCercle) bouton2.pack() fenetre.mainloop() fenetre.destroy() -Utilisation de la position et des deux boutons de la souris (gauche-cercle/droite-carré)#-*- coding:latin-1 -*-from Tkinter import * from random import * def TraceCercle(x,y): ,'e'plur'p=[teetllapwoll]'',uera'oe'ngye,'rgee'n',er'd',lbcyan','maroon','  c=randrange(0,7)  coul=pallette[c]  d = randrange(1,100)  tableau.create_oval(x-d,y-d,x+d,y+d,fill=coul) def TraceCarre(x,y): ,'c'prel'[uptt=e','groon,'mayan'lealplow']enre'r',',edlu'b','enaro,'egley'  c=randrange(0,7)  coul=pallette[c]  d = randrange(1,100)  tableau.create_rectangle(x,y,x+d,y+d,fill=coul) def souris_1(evenement):  le_x=evenement.x  le_y=evenement.y  TraceCercle(le_x,le_y) def souris_2(evenement):  le_x=evenement.x  le_y=evenement.y  TraceCarre(le_x,le_y) fenetre = Tk() tableau = Canvas(fenetre, height=600,width=600,bg='dark grey') tableau.bind("<Button-1>", souris_1) tableau.bind("<Button-2>", souris_2) tableau.pack(side=LEFT) bouton1 = Button(fenetre, text="Quitter", command=fenetre.quit) bouton1.pack(side=BOTTOM) fenetre.mainloop() fenetre.destroy() -Affichage dune photo et modification du titre de la fenêtre Il vous faut utiliser un fichier graphique pour la photo (ici le fichier  Bush.gif ») et toujours tracé de cercle à la position de la souris#-*- coding:latin-1 -*-from Tkinter import * from random import *
Apprendre à programmer avec Python - Nicolas Larrousse - cogmaster 2010 – Manips 4 - page 4
def TraceCercle(x,y): ]'yellow'p=ettellaelprup'[n'ya'c',onroma,'erne,'g'de,','r'e',''bluge',oran  c=randrange(0,7)  coul=pallette[c]  d = randrange(1,100)  tableau.create_oval(x-d,y-d,x+d,y+d,fill=coul) def souris_1(evenement):  le_x=evenement.x  le_y=evenement.y  TraceCercle(le_x,le_y) fenetre = Tk() fenetre.title("Mission accomplie ") tableau = Canvas(fenetre, height=600,width=600,bg='dark grey') tableau.bind("<Button-1>", souris_1) la_photo=PhotoImage(file ='Bush.gif') article = tableau.create_image(300, 300, image =la_photo) tableau.pack(side=LEFT) bouton1 = Button(fenetre, text="Quitter", command=fenetre.quit) bouton1.pack(side=BOTTOM) fenetre.mainloop() -Le stroop : On réalise un test de stroop en affichant aléatoirement des questions dans une succession de fenêtres. Une fonction sert à récupérer le nom de la personne et une autre fonction sert à poser une question et renvoie  OK » ou  KO » selon le cas. On écrit le nom et les résultats aux questions dans le fichier "score_stroop.txt". Deux listes ( questions » et  couleurs » font correspondre les noms de couleurs et la couleur daffichage) from Tkinter import * from random import * questions=['Rouge','Bleu','Vert','Orange'] couleurs=['red','blue','green','orange'] def la_fenetre_nom():  fenetre=Tk()  fenetre.geometry("300x200+100+100")  fenetre.title("Le stroop") letexte=Label(fenetre,text="Bienvenue",fg="blue",font=("Helvetica",24))  letexte.pack(side=TOP)  entree=StringVar()  l_entree=Entry(textvariable=entree, width=20)  l_entree.pack()  bouton=Button(fenetre,text="Suite du Test",command=fenetre.destroy)  bouton.pack(side=BOTTOM)
Apprendre à programmer avec Python - Nicolas Larrousse - cogmaster 2010 – Manips 4 - page 5
 fenetre.mainloop()  return entree.get() def la_fenetre_test(laquestion):  fenetre=Tk()  fenetre.geometry("300x200+100+100")  fenetre.title("Le stroop")  la_couleur=choice(couleurs) letexte=Label(fenetre,text=laquestion,fg=la_couleur,font=("Helvetica",32))  letexte.pack(side=TOP)  retour=IntVar()  boutonO=Radiobutton(fenetre,text="Oui", variable=retour, value=1)  boutonN=Radiobutton(fenetre,text="Non", variable=retour, value=2)  boutonO.select()  boutonO.pack()  boutonN.pack()  bouton=Button(fenetre, text="Suite", command=fenetre.destroy)  bouton.pack(side=BOTTOM)  fenetre.mainloop() if ((questions.index(laquestion)==couleurs.index(la_couleur)) and (retour.get()==1)) :  reponse="OK" elif ( (questions.index(laquestion)!=couleurs.index(la_couleur) ) and ( retour.get()==2 ) ):  reponse="OK"  else :  reponse="KO"  return reponse justes=0 nombre_questions=5 score=open("score_stroop.txt","a") le_nom=la_fenetre_nom() score.write("-> Nom : "+le_nom+"\n") for num_question in range(1,nombre_questions+1):  la_reponse=la_fenetre_test(choice(questions))  score.write("question "+str(num_question)+" : "+la_reponse+"\n")  if (la_reponse == "OK") :  justes+=1 score.write(str(justes)+" reponse(s) correcte(s) sur "+str(nombre_questions)+"\n\n") score.close()
Apprendre à programmer avec Python - Nicolas Larrousse - cogmaster 2010 – Manips 4 - page 6
-Faire bouger une photo aléatoirement. Lidée est dintroduire ici la notion de  récursivité » si commode en informatique. Le fonction  Bouge » sappellel elle même tant que lon na pas modifié la variable  on_fait_quoi » par exemple en appuyant sur le bouton  Dort » qui lance la fonction. Vous aurez besoin dun fichier image  ici cest  kiki.gif » #-*- coding:latin-1 -*-from Tkinter import * from random import * def Bouge():  x=randrange(20,480)  y=randrange(20,480)  tableau.coords(article,x,y)  if (on_fait_quoi=="encore"):  fenetre.after(200,Bouge) def Dort():  global on_fait_quoi  on_fait_quoi="stop" def Debout():  global on_fait_quoi  on_fait_quoi="encore"  Bouge() fenetre = Tk() fenetre.title("Kiki bouge parfois") tableau = Canvas(fenetre, height=600,width=600,bg='dark grey') la_photo=PhotoImage(file ='kiki.gif') article = tableau.create_image(300, 300, image =la_photo) tableau.pack(side=LEFT) bouton1 = Button(fenetre, text="Quitter", command=fenetre.quit) bouton1.pack(side=BOTTOM) bouton2= Button(fenetre, text="Debout", command=Debout) bouton2.pack() bouton3= Button(fenetre, text="Dort", command=Dort) bouton3.pack() fenetre.mainloop() fenetre.destroy()
Apprendre à programmer avec Python - Nicolas Larrousse - cogmaster 2010 – Manips 4 - page 7
  • Accueil Accueil
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • BD BD
  • Documents Documents