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 :

probleme code python


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    collegien
    Inscrit en
    janvier 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 13
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : collegien

    Informations forums :
    Inscription : janvier 2018
    Messages : 7
    Points : 4
    Points
    4
    Par défaut probleme code python
    Bonjour,j'ai un probleme:je cherche a coder un petit logiciel pour dessiner avec python mais j'aimerai pouvoir changer la couleur de l'arriere plan en appuiant sur un oval de couleur mais j'y arrive pas.Est-que quelqu'un porrai m'aider? Je suis débutant.

    Voici mon code:

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    import tkinter
    fenêtre=tkinter.Tk()
    taille=3
    couleur_fond="white"
    canvas=tkinter.Canvas(fenêtre, width=2000, height=2000, bg=couleur_fond)
    canvas.pack()
    dernierX, dernierY=0,0
    couleur="black"
    def enregistrer_position(event):
        global dernierX, dernierY
        dernierX=event.x
        dernierY=event.y
    def quand_cliqué(event):
        enregistrer_position(event)
    def quand_déplacé(event):
        canvas.create_line(dernierX, dernierY, event.x, event.y, fill=couleur, width=taille)
        enregistrer_position(event)
    canvas.bind("<Button-1>", quand_cliqué)
    canvas.bind("<B1-Motion>", quand_déplacé)
    red_id=canvas.create_rectangle(10,10,30,30, fill="red")
    blue_id=canvas.create_rectangle(10,35,30,55, fill="blue")
    black_id=canvas.create_rectangle(10,60,30,80, fill="black")
    white_id=canvas.create_rectangle(10,85,30,105, fill="white")
    yellow_id=canvas.create_rectangle(10,110,30,130, fill="yellow")
    orange_id=canvas.create_oval(40,150,45,30 ,fill="orange")
    purple_id=canvas.create_rectangle(10,135,30,155, fill="purple")
    def définir_couleur_rouge(event):
        global couleur,taille
        taille=3
        couleur="red"
    def définir_couleur_blue(event):
        global couleur, taille
        taille=3
        couleur="blue"
    def définir_couleur_noir(event):
        global couleur, taille
        taille=3
        couleur="black"
    def définir_couleur_blanc(event):
        global couleur, taille
        couleur="white"
        taille=50
    def définir_couleur_jaune(event):
        global couleur, taille
        couleur="yellow"
    def définir_couleur_violet(event):
        global couleur, taille
        taille=3
        couleur="purple"
    def definir_fond_rouge(event):
        global couleur_fond
        couleur_fond="orange"
    canvas.tag_bind(yellow_id, "<Button-1>", définir_couleur_jaune)
    canvas.tag_bind(purple_id,"<Button-1>",définir_couleur_violet)
    canvas.tag_bind(red_id, "<Button-1>", définir_couleur_rouge)
    canvas.tag_bind(blue_id,"<Button-1>",définir_couleur_blue)
    canvas.tag_bind(black_id,"<Button-1>",définir_couleur_noir)
    canvas.tag_bind(white_id,"<Button-1>",définir_couleur_blanc)
    canvas.tag_bind(orange_id, "<Button-1>", definir_fond_rouge)
    fenêtre.mainloop()

    Merci d'avance

  2. #2
    Membre éprouvé

    Homme Profil pro
    ValueError
    Inscrit en
    avril 2016
    Messages
    689
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ValueError

    Informations forums :
    Inscription : avril 2016
    Messages : 689
    Points : 1 018
    Points
    1 018
    Billets dans le blog
    1
    Par défaut
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    def definir_fond_rouge(event):
        canvas['bg'] = 'red'
    Maintenant, ton code est certes fonctionnel, mais il serait judicieux d'utiliser des boucles pour simplifier ton code, et de regarder un peu aussi les fonctions anonymes, recherche « lambda » couplé à python.

    Il serait également opportun de séparer la zone des boutons, et celle du dessin en 2 canevas distincts, car en l'état on peut dessiner sur les boutons de couleurs.
    N'hésite pas non plus à aérer ton code avec des sauts de lignes, cela facilite sa lecture.

    Bonne continuation
    Le temps ronge l'amour comme l'acide.

  3. #3
    Candidat au Club
    Homme Profil pro
    collegien
    Inscrit en
    janvier 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 13
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : collegien

    Informations forums :
    Inscription : janvier 2018
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probleme code source python, poker
    Par petard1994 dans le forum Général Python
    Réponses: 8
    Dernier message: 08/10/2012, 18h24
  2. Réponses: 3
    Dernier message: 08/03/2009, 11h50
  3. [TP] Problème code touche clavier
    Par phildeb dans le forum Turbo Pascal
    Réponses: 10
    Dernier message: 02/12/2005, 23h44
  4. Probleme code asm dans .c
    Par sorry60 dans le forum C
    Réponses: 5
    Dernier message: 18/04/2005, 14h15
  5. [langage] probleme code
    Par louisis dans le forum Langage
    Réponses: 5
    Dernier message: 30/06/2004, 18h43

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