• Aucun résultat trouvé

MON HORLOGE

N/A
N/A
Protected

Academic year: 2022

Partager "MON HORLOGE"

Copied!
9
0
0

Texte intégral

(1)

MON HORLOGE

ETAPE 1 : création de la fenêtre, du canvas et du cadran

fromtkinter import*

frommath import*

fromtime import*

horloge=Tk()

horloge.title("Mon horloge")

can=Canvas(horloge,bg='light grey',height=250,width=240) can.pack()

can.create_oval(20,20,220,220,fill='pink',width=2) horloge.mainloop()

(2)

ETAPE 2 : Horloge numérique

fromtkinter import*

frommath import*

fromtime import*

fromdatetime import*

defheure():

label_heure.config(text=strftime('%H:%M:%S'))

label_heure.after(200,heure)#Rafrichissement du Label qui contient l'heure

defjour():

jour=date.today()

label_jour.config(text=str(jour))

defcadran():

can.create_oval(20,20,220,220,fill='pink',width=2)

horloge=Tk()

horloge.title("Mon horloge")

can=Canvas(horloge,bg='light grey',height=300,width=240) can.grid(row=0,column=0)

# aiguille des seconde

# horloge digitale

label_heure=Label(horloge,font=20) label_heure.grid(row=4,column=0) label_jour=Label(horloge,font=20) label_jour.grid(row=2,column=0) heure()

jour() cadran()

horloge.mainloop()

(3)

ETAPE 3 : aiguille des secondes

fromtkinter import*

frommath import*

fromtime import*

fromdatetime import*

defheure():# affichage de l'heure sur l'horloge digitale

label_heure.config(text=strftime('%H:%M:%S'))

label_heure.after(200,heure)#Rafrichissement du Label qui contient l'heure

defjour():# affichage de la date du jour

jour=date.today()

label_jour.config(text=str(jour))

defcadran():

can.create_oval(20,20,220,220,fill='pink',width=2)

defaiguille_seconde():# aiguille des secondes

secondes=int(strftime('%S'))

angle1=-(90-6*secondes)*pi/180

angle2=-(90-6*(secondes-1))*pi/180

xs1=120+80*cos(angle1)

ys1=120+80*sin(angle1)

xs2=120+80*cos(angle2)

ys2=120+80*sin(angle2)

can.create_line(120,120,xs2,ys2,width=1,fill='pink')# effacer l'aiguille précédente

can.create_line(120,120,xs1,ys1,width=1)

can.after(200,aiguille_seconde)

horloge=Tk()

horloge.title("Mon horloge")

can=Canvas(horloge,bg='light grey',height=300,width=240) can.grid(row=0,column=0)

# horloge digitale

label_heure=Label(horloge,font=20) label_heure.grid(row=4,column=0) label_jour=Label(horloge,font=20) label_jour.grid(row=2,column=0) heure()

jour() cadran()

aiguille_seconde() horloge.mainloop()

(4)

ETAPE 4 : les autres aiguilles

fromtkinter import*

frommath import*

fromtime import*

fromdatetime import*

defheure():# affichage de l'heure sur l'horloge digitale

label_heure.config(text=strftime('%H:%M:%S'))

label_heure.after(200,heure)#Rafrichissement du Label qui contient l'heure defjour():# affichage de la date du jour

jour=date.today()

label_jour.config(text=str(jour))

defcadran():

can.create_oval(20,20,220,220,fill='pink',width=2)

defaiguille():

heures=int(strftime('%H'))

minutes=int(strftime('%M'))

secondes=int(strftime('%S'))

angles1=-(90-6*secondes)*pi/180# angle aiguille seconde

angles2=-(90-6*(secondes-1))*pi/180# angle ancienne aiguille

xs1=120+80*cos(angles1)

ys1=120+80*sin(angles1)

xs2=120+80*cos(angles2)

ys2=120+80*sin(angles2)

anglem1=-(90-6*minutes-secondes/10)*pi/180#angle minutes

anglem2=-(90-6*(minutes)-(secondes-1)/10)*pi/180

xm1=120+60*cos(anglem1)

ym1=120+60*sin(anglem1)

xm2=120+60*cos(anglem2)

ym2=120+60*sin(anglem2)

angleh1=-(90-30*heures-minutes/2)*pi/180#angle heures

angleh2=-(90-30*heures-(minutes-1)/2)*pi/180

xh1=120+30*cos(angleh1)

yh1=120+30*sin(angleh1)

xh2=120+30*cos(angleh2)

yh2=120+30*sin(angleh2)

can.create_line(120,120,xm2,ym2,width=2,fill='pink')# effacer l'aiguille précédente

can.create_line(120,120,xm1,ym1,width=2,fill='blue')

can.create_line(120,120,xs2,ys2,width=1,fill='pink')# effacer l'aiguille précédente

can.create_line(120,120,xs1,ys1,width=1)

can.create_line(120,120,xh2,yh2,width=3,fill='pink')# effacer l'aiguille précédente

(5)

can.create_line(120,120,xh1,yh1,width=3,fill='green')

can.after(200,aiguille)

horloge=Tk()

horloge.title("Mon horloge")

can=Canvas(horloge,bg='light grey',height=300,width=240) can.grid(row=0,column=0)

# horloge digitale

label_heure=Label(horloge,font=20) label_heure.grid(row=4,column=0) label_jour=Label(horloge,font=20) label_jour.grid(row=2,column=0) heure()

jour() cadran() aiguille()

horloge.mainloop()

(6)

ETAPE 5 : les graduation de l'horloge et affichage des heure

fromtkinter import*

frommath import*

fromtime import*

fromdatetime import*

defheure():# affichage de l'heure sur l'horloge digitale

label_heure.config(text=strftime('%H:%M:%S'))

label_heure.after(200,heure)#Rafrichissement du Label qui contient l'heure

defjour():# affichage de la date du jour

jour=date.today()

label_jour.config(text=str(jour))

defcadran():

can.create_oval(20,20,220,220,fill='pink',width=2)

fori inrange(0,360,6):

a=i*pi/180

can.create_line(120+90*cos(a),120+90*sin(a),120+100*cos(a),120+100*sin(a))

fori inrange (300,660,30):

a=i*pi/180

can.create_line(120+90*cos(a),120+90*sin(a),120+100*cos(a),120+100*sin(a),width=3)

h=int(i/30-9)

can.create_text(120+110*cos(a),120+110*sin(a),text=str(h),font=30,fill='yellow')

defaiguille():

heures=int(strftime('%H'))

minutes=int(strftime('%M'))

secondes=int(strftime('%S'))

angles1=-(90-6*secondes)*pi/180# angle aiguille seconde

angles2=-(90-6*(secondes-1))*pi/180# angle ancienne aiguille

xs1=120+80*cos(angles1)

ys1=120+80*sin(angles1)

xs2=120+80*cos(angles2)

ys2=120+80*sin(angles2)

anglem1=-(90-6*minutes-secondes/10)*pi/180#angle minutes

anglem2=-(90-6*(minutes)-(secondes-1)/10)*pi/180

xm1=120+60*cos(anglem1)

ym1=120+60*sin(anglem1)

xm2=120+60*cos(anglem2)

ym2=120+60*sin(anglem2)

angleh1=-(90-30*heures-minutes/2)*pi/180#angle heures

angleh2=-(90-30*heures-(minutes-1)/2)*pi/180

xh1=120+30*cos(angleh1)

yh1=120+30*sin(angleh1)

xh2=120+30*cos(angleh2)

yh2=120+30*sin(angleh2)

can.create_line(120,120,xm2,ym2,width=2,fill='pink')# effacer l'aiguille précédente

can.create_line(120,120,xm1,ym1,width=2,fill='blue')

can.create_line(120,120,xs2,ys2,width=1,fill='pink')# effacer l'aiguille précédente

can.create_line(120,120,xs1,ys1,width=1)

(7)

can.create_line(120,120,xh2,yh2,width=3,fill='pink')# effacer l'aiguille précédente

can.create_line(120,120,xh1,yh1,width=3,fill='red')

can.after(200,aiguille)

horloge=Tk()

horloge.title("Mon horloge")

can=Canvas(horloge,bg='light grey',height=300,width=240) can.grid(row=0,column=0)

# horloge digitale

label_heure=Label(horloge,font=20) label_heure.grid(row=4,column=0) label_jour=Label(horloge,font=20) label_jour.grid(row=2,column=0) heure()

jour() cadran() aiguille()

horloge.mainloop()

(8)

ETAPE finale : la présentation

fromtkinter import*

frommath import*

fromtime import*

fromdatetime import*

defheure():# affichage de l'heure sur l'horloge digitale

label_heure.config(text=strftime('%H:%M:%S'))

label_heure.after(200,heure)#Rafrichissement du Label qui contient l'heure defjour():# affichage de la date du jour

jour=date.today()

label_jour.config(text=str(jour))

defjoursemaine():

jours =["Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi","Dimanche"]

joursemaine=jours[localtime()[6]]

label_joursemaine.config(text=str(joursemaine)) defcadran():

can.create_oval(20,20,220,220,fill='pink',width=2)

fori inrange(0,360,6):

a=i*pi/180

can.create_line(120+90*cos(a),120+90*sin(a),120+100*cos(a),120+100*sin(a))

fori inrange (300,660,30):

a=i*pi/180

can.create_line(120+90*cos(a),120+90*sin(a),120+100*cos(a),120+100*sin(a),width=3)

h=int(i/30-9)

can.create_text(120+110*cos(a),120+110*sin(a),text=str(h),font=30,fill='yellow')

defaiguille():

heures=int(strftime('%H'))

minutes=int(strftime('%M'))

secondes=int(strftime('%S'))

angles1=-(90-6*secondes)*pi/180# angle aiguille seconde

angles2=-(90-6*(secondes-1))*pi/180# angle ancienne aiguille

xs1=120+80*cos(angles1)

ys1=120+80*sin(angles1)

xs2=120+80*cos(angles2)

ys2=120+80*sin(angles2)

anglem1=-(90-6*minutes-secondes/10)*pi/180#angle minutes

anglem2=-(90-6*(minutes)-(secondes-1)/10)*pi/180

xm1=120+60*cos(anglem1)

ym1=120+60*sin(anglem1)

xm2=120+60*cos(anglem2)

ym2=120+60*sin(anglem2)

angleh1=-(90-30*heures-minutes/2)*pi/180#angle heures

angleh2=-(90-30*heures-(minutes-1)/2)*pi/180

xh1=120+30*cos(angleh1)

yh1=120+30*sin(angleh1)

(9)

xh2=120+30*cos(angleh2)

yh2=120+30*sin(angleh2)

can.create_line(120,120,xm2,ym2,width=2,fill='pink')# effacer l'aiguille précédente

can.create_line(120,120,xm1,ym1,width=2,fill='blue')

can.create_line(120,120,xs2,ys2,width=1,fill='pink')# effacer l'aiguille précédente

can.create_line(120,120,xs1,ys1,width=1)

can.create_line(120,120,xh2,yh2,width=3,fill='pink')# effacer l'aiguille précédente

can.create_line(120,120,xh1,yh1,width=3,fill='red')

can.after(200,aiguille) horloge=Tk()

horloge.title("Mon horloge")

can=Canvas(horloge,bg='light grey',height=250,width=240) can.grid(row=0,column=0)

# horloge digitale

label_jour=Label(horloge,font=20,background='yellow') label_jour.grid(row=3,column=0)

label_joursemaine=Label(horloge,font=30,fg='orange') label_joursemaine.grid(row=2,column=0)

label_heure=Label(horloge,font=30,fg='red2') label_heure.grid(row=4,column=0)

heure() jour() cadran() aiguille() joursemaine() horloge.mainloop()

Références

Documents relatifs

Ayant deux nombres x et y entre 0 et 1, ils d´ esignent la position des aiguilles s’ils satisfont 12y − x ou 12x − y entier, et celle de ces conditions qui est satisfaite permet

Présentation  Il est question sur ce problème très concret de mieux maîtriser la mesure des angles de vecteurs et de mieux comprendre pourquoi il est indispensable d'avoir

Présentation • Il est question sur ce problème très concret de mieux maîtriser la mesure des angles de vecteurs et de mieux comprendre pourquoi il est indispensable

Troisièmement, ces processus, ou d'autres de nature similaire (mais avec des périodicités plus courtes, comme les vibrations d'un ressort, ou les oscillations

Découper, consolider, plastifier le rond ci-dessus et le fixer sur le support avec une

Que signifie #pragma config OSC = XT ( voir dans Help – Topics – PIC18 config settings ) ? A partir de la valeur placée dans le registre T0CON, donnez la demi-période sur la LED,

En mode oscillateur interne la fréquence FOSC est définie dans le programme, elle est basée sur l’oscillateur interne 16Mhz du PIC18F26K22. Elle peut être un sous multiple ou

On constate que la partie imaginaire de l’impédance s’annule comme dans le cas d’une résonance d’intensité en circuit RLC série.. Ici, la situation est pourtant différente,