def initialisation(self) :
     c = master.create_oval((320,220,480,380),fill = change_color('ovale', value = self.consommationOptimisee, valuemin = 0, valuemax = self.conso_max), outline = 'black', width = 5, activeoutline = 'grey', tags = 'Smart_En_Co')
     self.cercle = c
     self.titre = Frame(height = 50, width = 150)
     self.titre.place(x = self.x, y = self.y, anchor = CENTER)
     self.titre_text = Label(self.titre,text=self.nom,justify=CENTER, bg = master.itemcget(self.cercle,'fill'), font = "Verdana 18 bold").grid()
     self.jauge._rectangle_fond = self.jauge.canvas.create_rectangle((self.jauge.cercle.x-50,self.jauge.cercle.y+100,self.jauge.cercle.x+45,self.jauge.cercle.y+130), fill = 'white', width =2.0)
     self.jauge._barre_etat_ini = self.jauge.canvas.create_line((self.jauge.cercle.x-50+70*self.jauge.puiss_ini/self.jauge.puiss_max,self.jauge.cercle.y+100,self.jauge.cercle.x-50+70*self.jauge.puiss_ini/self.jauge.puiss_max,self.jauge.cercle.y+130),width = 3.0,tags = self.jauge.cercle.nom+'i')
     self.jauge.puissance_actuelle = self.jauge.canvas.create_rectangle((self.jauge.cercle.x-50, self.jauge.cercle.y+100, self.jauge.cercle.x-50+70*self.jauge.puiss/self.jauge.puiss_max, self.jauge.cercle.y+130), fill = 'orange',width = 2.0,tags = self.jauge.cercle.nom+'p')
     self.jauge.indice_eff = self.jauge.canvas.create_polygon(self.jauge.cercle.x+45+7,self.jauge.cercle.y+100,self.jauge.cercle.x+45+7,self.jauge.cercle.y+130,self.jauge.cercle.x+45+7+30,self.jauge.cercle.y+115, fill = change_color('triangle', brightness = 1-self.etatEffacement), width = 2, outline = 'black',tags = self.jauge.cercle.nom+'e')
     self.jauge.thermometre = Thermometre(master, 20, 35, 500,220,530,380)
     self.jauge.thermometre.afficher()
     self.jauge.canvas.tag_bind(self.jauge.cercle.nom+'e','<Enter>',self.jauge.ouvreinfobulle_e)
     self.jauge.canvas.tag_bind(self.jauge.cercle.nom+'e','<Leave>',self.jauge.fermeinfobulle)
     self.jauge.canvas.tag_bind(self.jauge.cercle.nom+'i', '<Enter>',self.jauge.ouvreinfobulle_i)
     self.jauge.canvas.tag_bind(self.jauge.cercle.nom+'i', '<Leave>',self.jauge.fermeinfobulle)
     self.jauge.canvas.tag_bind(self.jauge.cercle.nom+'p', '<Enter>',self.jauge.ouvreinfobulle_p)
     self.jauge.canvas.tag_bind(self.jauge.cercle.nom+'p', '<Leave>',self.jauge.fermeinfobulle)
     self.jauge.canvas.tag_bind('thermometre', '<Enter>',self.jauge.ouvreinfobulle_t)
     self.jauge.canvas.tag_bind('thermometre', '<Leave>',self.jauge.fermeinfobulle)
     master.tag_bind(self.nom,'<Button-2>',self.callback1)
     master.tag_bind(self.nom,'<Button-3>',self.callback1)
     master.tag_bind(self.nom,'<Button-1>',self.callback2)
     self.timer = Frame(height = 50, width = 150)
     self.timer.place(x = 75, y = 630)
     self.titre_text = Label(self.timer, text = "Vous pouvez commencer", justify=CENTER, font = "Verdana 18 bold").grid()
 def miseAJourAff(self) :
     c1 = change_color('ovale', value = self.consommationOptimisee, valuemin = 0, valuemax = 83400)
     master.itemconfigure(self.cercle, fill = c1)
     self.titre.destroy()
     self.titre = Frame(height = 50, width = 150)
     self.titre.place(x = self.x, y = self.y, anchor = CENTER)
     self.titre_text = Label(self.titre,text=self.nom,justify=CENTER, bg = master.itemcget(self.cercle,'fill'), font = "Verdana 18 bold").grid()
     self.jauge.mettre_a_jour(self.consommationOptimisee, 0.3)
     self.jauge.thermometre.changer_temperature(self.jauge.thermometre.temp)
     if self.graphe_affiche :
         for i in range(len(appareils)) :
             c1 = change_color('ovale', value = appareils[i].consommationOptimisee, valuemin = 0, valuemax = appareils[i].conso_max)
             master.itemconfigure(appareils[i].cercle, fill = c1, outline = change_color('line', value = appareils[i].priorite / len(appareils), valuemin = 0, valuemax = 1))
             appareils[i].titre.destroy()
             appareils[i].titre = Frame(height = 50, width = 150)
             appareils[i].titre.place(x = appareils[i].x, y = appareils[i].y, anchor = CENTER)
             appareils[i].titre_text = Label(appareils[i].titre,text=appareils[i].nom,justify=CENTER, bg = master.itemcget(appareils[i].cercle,'fill'), font = "Verdana 10 bold").grid()
             appareils[i].jauge.mettre_a_jour(appareils[i].consommationOptimisee, 0.3)
Example #3
0
 def afficher(self):
     self.fond = self.canvas.create_rectangle(self.x1,self.y1,self.x2,self.y2, fill = 'white', width = 2.0)
     self.bar = self.canvas.create_rectangle(self.x1,self.y2-(self.temp/self.temp_max)*(self.y2-self.y1),self.x2,self.y2, width = 2, fill = change_color('temp', value = self.temp, valuemin = 0, valuemax = 50), tags = 'thermometre')
Example #4
0
 def changer_temperature(self, temp):
     self.temp = temp
     self.canvas.delete(self.bar)
     self.bar = self.canvas.create_rectangle(self.x1,self.y2-(self.temp/self.temp_max)*(self.y2-self.y1),self.x2,self.y2,width = 2, fill = change_color('temp', value = temp, valuemin = 0, valuemax = 50), tags = 'thermometre')
 def afficherAppareils(self) :
     n = len(appareils)
     self.jauge.cacher()
     self.jauge.thermometre.cacher()
     for i in range(n):
         appareils[i].numero = i + 1
         appareils[i].x = (50 + 150) / (2 * np.pi / n) * np.cos(2 * np.pi * i / n) + self.x
         appareils[i].y = - (50 + 150) / (2 * np.pi / n) * np.sin(2 * np.pi * i / n) + self.y
         appareils[i].droite = master.create_line((self.x + 80 * np.cos(2 * np.pi * i / n) , self.y - 80 * np.sin(2 * np.pi * i / n)), (appareils[i].x - 50 * np.cos(2 * np.pi * i / n), appareils[i].y + 50 * np.sin(2 * np.pi * i / n)), fill = 'black', width = 5)
         appareils[i].cercle = master.create_oval((appareils[i].x - 50, appareils[i].y + 50, appareils[i].x + 50, appareils[i].y - 50), fill = change_color('ovale', value = appareils[i].consommationOptimisee, valuemin = 0, valuemax = appareils[i].conso_max), outline = change_color('line', value = appareils[i].priorite / len(appareils), valuemin = 0, valuemax = 1), width = 5, activeoutline = 'grey', tags = appareils[i].nom)
         appareils[i].titre = Frame(height = 30, width = 70)
         appareils[i].titre.place(x = appareils[i].x, y = appareils[i].y, anchor = CENTER)
         appareils[i].titre_text = Label(appareils[i].titre,text=appareils[i].nom,justify=CENTER, bg = master.itemcget(appareils[i].cercle,'fill'), font = "Verdana 10 bold").grid()
         appareils[i].jauge.afficher()
         master.tag_bind(appareils[i].nom, '<Button-1>',appareils[i].callback2)