Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 13/05/2017, à 13:44

ThePepS

Coloration dans des canvas (Python) [Résolu]

Bonjour j'aurai besoin d'aide pour colorer l'interieur de mes rectangles, j'ai une variable (bo) qui va varier avec mon programme entre 0 et 100.
Je voudrais faire en sorte que mon rectangle soit de couleur verte lorsque la variable est entre 75 et 100 puis orange entre 25 et 75 et rouge entre 0 et 25.
Cependant je ne sais pas comment faire varier la couleur.
Voila mon code simplifier, j'ai garder que les choses importantes pour cette question.

from tkinter import*
from random import*
from time import*
from datetime import*
fenetre=Tk()
fenetre.geometry("1080x720")
fenetre.title("Marmite 2K17")

bo = 50

C= Canvas(fenetre, width=1080, height=300)
C.create_rectangle((75,87.5), (200,137.5), fill='red')

C.pack()


fenetre.mainloop()

Dernière modification par ThePepS (Le 13/05/2017, à 19:20)

Hors ligne

#2 Le 13/05/2017, à 15:29

pingouinux

Re : Coloration dans des canvas (Python) [Résolu]

Bonjour,

from tkinter import*
from random import*
from time import*
from datetime import*
fenetre=Tk()
fenetre.geometry("1080x720")
fenetre.title("Marmite 2K17")

bo = 50

def couleur_rectangle(bo):
   if   bo<25: coul='red'
   elif bo<75: coul='orange'
   else:       coul='green'
   return coul

C= Canvas(fenetre, width=1080, height=300)
C.create_rectangle((75,87.5), (200,137.5), fill=couleur_rectangle(bo))
C.pack()

Ajouté :
Exemple avec modification des couleurs lorsque bo varie :

from tkinter import*
from random import*
from time import*
from datetime import*
fenetre=Tk()
fenetre.geometry("1080x720")
fenetre.title("Marmite 2K17")

bo = 50

def couleur_rectangle(bo):
   if   bo<25: coul='#ff0000' #'red'
   elif bo<75: coul='orange'
   else:       coul='#00ff00'
   return coul

def modifier_couleur(bo):
   C.itemconfig(rect,fill=couleur_rectangle(bo))
   C.update()

C= Canvas(fenetre, width=1080, height=300)
rect=C.create_rectangle((75,87.5), (200,137.5), fill=couleur_rectangle(bo))
C.pack()

for bo in range(0,100,10):
   sleep(1)
   print('bo=%s'%bo)
   modifier_couleur(bo)
input()

Dernière modification par pingouinux (Le 13/05/2017, à 16:37)

Hors ligne

#3 Le 13/05/2017, à 17:12

ThePepS

Re : Coloration dans des canvas (Python) [Résolu]

C'est parfait je me suis servis de ton premier programme que j'ai incorporé au mien, et arrangé parce que j'ai 5 barres différerentes qui demandent des couleurs et des echelles diférentes.
Merci beaucoup.

Hors ligne

#4 Le 13/05/2017, à 17:20

pingouinux

Re : Coloration dans des canvas (Python) [Résolu]

Si c'est bon, merci de modifier ton message #1 et d'ajouter [Résolu] dans le titre (et les balises-code autour de ton script).

Hors ligne