IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Python - Couleur


Sujet :

Python

  1. #1
    Invité
    Invité(e)
    Par défaut Python - Couleur
    bonsoir,

    je suis en train d'apprendre le python et j'ai du mal à m'y retrouver.
    j'ai créé une fenêtre avec un cercle et je voudrai qu'il change de couleur chaque fois que je clique sur un bouton.

    j'ai fait le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    from tkinter import *
     
    def changer() :
      can.itemconfigure( oval, fill = 'red'   )
     
    #------ Programme principal -------
     
    # Création du widget principal ("maître") :
    fen  = Tk()
    fen.title( "Couleur" )
     
    can  = Canvas( fen, bg = 'dark grey', height = 50, width = 100 )
     
    oval = can.create_oval( 35, 10, 65, 40, width = 2, fill = 'blue'  )
    can.pack()
     
    Button( fen, text = 'Changer', command = changer, fg = 'blue' ).pack()
     
    # démarrage du réceptionnaire d’évènements (boucle principale) :
    fen.mainloop()
    je cherche le moyen d'écrire en python

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    def changer() :
      if oval.color == "red" ;
        can.itemconfigure( oval, fill = 'green'   )
      else :
        can.itemconfigure( oval, fill = 'red'   )
    quelqu'un peut-il m'aider ?
    merki d'avance
    ben

  2. #2
    Membre éprouvé
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Points : 926
    Points
    926
    Par défaut
    Coucou,
    J'ai un peu de mal à voir le problème!!
    Dans l'aide de tkinter, "oval" (ainsi que tous les "create_*") renvoient des entiers!!
    Un entier n'a pas d'option "fill"!

    Pour récupérer l'ensemble des options de "oval":

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    can.itemconfigure(oval)
    Pour récupérer les valeurs de l'option "fill" de oval:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    can.itemconfigure(oval, "fill")
    Cela renvoie un tuple contenant les paramètres de l'option. Le quatrième paramètre contient le nom de la couleur!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def changer() :
        option = can.itemconfigure(oval, "fill")
        if option[4] == "red":
            can.itemconfigure(oval, fill = 'green')
        else :
            can.itemconfigure(oval, fill = 'red')
    Voilà!
    PS: il existe sans doutes d'autres méthodes plus simple, mais avec cela, on a accès à l'ensemble des options disponibles pour ce disque!

    Clodion

  3. #3
    Invité
    Invité(e)
    Par défaut
    super, merci, je test ça ce soir !

  4. #4
    Invité
    Invité(e)
    Par défaut
    super, cel fonctionne !

Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 03/05/2015, 23h29
  2. Réponses: 0
    Dernier message: 25/04/2015, 19h22
  3. Réponses: 1
    Dernier message: 05/10/2010, 10h39
  4. Mixage de Couleurs
    Par exxos dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 29/05/2002, 13h34
  5. String Grid et choix d'une couleur pour une ligne
    Par Gigottine dans le forum C++Builder
    Réponses: 12
    Dernier message: 17/05/2002, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo