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

Tkinter Python Discussion :

Erreur dans le code source


Sujet :

Tkinter Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Collégien
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Erreur dans le code source
    Bonsoir,

    Je n'ai pas encore bien fini mais quand je compile je vois une erreur que je n'arrive pas à comprendre dans
    la fonction draw_circle.

    Aidez moi à comprendre célà......Merci


    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
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    #									#
    #	bismarck 	programmation		#
    ######################################
     
     
    #programme permettant de créer 5 anneaux olympiques
     
    from tkinter import*
    from random import randrange
    cou=""
    coul=""
    # --- définition des fonctions gestionnaires d'événements : ---
     
    def draw_rectangle():
    	"construction du rectangle à fond blanc"
    	global x30,x31,y30,y31,coul
    	can1.create_rectangle(x30,y30,x31,y31,width=2,fill=coul)
     
    def draw_circle():
    	"construction des 5 anneaux olympiques"
    	global x1,y1,x2,y2,x3,x4,y3,y4,x5,y5,x6,y6,x7,y7,x8,y8,x9,y9,x10,y10,cou
     
    	can1.create_oval(x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,y1,y2,y3,y4,y5,y6,y7,y8,y9,y10,width=2,fill=cou) 
     
     
    def color():
    	"couleur des anneaux"
    	global cou
    	t1=["red","black","yellow","blue","green"]
    	c = randrange(5)
    	cou=t1[c]
     
     
    #------ programme principal -------#
     
    # les variables suivantes seront utilisées de manière globale :
    x30,y30,x31,y31 = 5,490, 490,5 # coordonnées du rectangle
     
    # definition de  coordonnées de chaque anneaux
     
    # anneau 1
     
    x1,y1,x2,y2=10, 190, 190, 10
    # anneau 2
     
    x3,y3,x4,y4=0,0,0,0
    #anneau 3
     
    x5,y5,x6,y6=0,0,0,0
     
    #anneau 4 
     
    x7,y7,x8,y8=0,0,0,0
    #anneau 5
     
    x9,y9,x10,y10=0,0,0,0
    # couleur des objets
     
    # création du widget principal ("maître") :
     
    fen1=Tk()			
    t1=["red","black","yellow","blue","green"]
    c = randrange(5)
    cou=t1[c]
     
    # création des widgets "esclaves" :		
     
    can1=Canvas(fen1,bg="white",height=500,width=500)
    can1.pack(side=LEFT)
    bou2 = Button(fen1,text='afficher les anneaux',command=draw_circle)
    bou2.pack()
    bou1 = Button(fen1,text='quitter',command=fen1.quit)
    bou1.pack(side=BOTTOM)
    bou3=Button(fen1,text="cadre",command=draw_rectangle)
    bou3.pack()
    fen1.mainloop() # démarrage du réceptionnaire d’événements
    fen1.destroy()  # destruction (fermeture) de la fenêtre

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 301
    Points : 6 781
    Points
    6 781
    Par défaut
    Salut,

    Je ne pense pas que tu puisse balancer à create_oval() toutes les coordonnées des cinq cercles d'un coup.

    Il faut les créer séparément.

    http://effbot.org/tkinterbook/canvas...te_oval-method

    Autre chose, il est utile de mettre le traceback de l'erreur que tu rencontres.

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 301
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 301
    Points : 6 781
    Points
    6 781
    Par défaut
    Comme c'est samedi ..

    Dessinons les cercles en boucle:
    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
     
    # -*- coding: utf-8 -*-
     
    from tkinter import Tk, Canvas, Button, LEFT
     
    DIAMETER = 120   # diametre des cercles
    OFFSET = 80     # decalage des cercle
    BASE = 20, 20   # coin supérieur gauche de l'ensemble
     
    def create_cio_logo():
        colors = ["red", "black", "yellow", "blue", "green"]
        x, y = BASE
        d = DIAMETER
        for i in range(3):
            can1.create_oval(x, y, x+d, y+d, width=2, outline=colors[i])
            x += OFFSET
        x = BASE[0] + OFFSET / 2.0
        y += OFFSET
        for i in range(2):
            can1.create_oval(x, y, x+d, y+d, width=2, outline=colors[i+3])
            x += OFFSET
     
    fen1=Tk()			
    can1=Canvas(fen1, bg="white", height=500, width=500)
    can1.pack(side=LEFT)
    bou2 = Button(fen1, text='afficher les anneaux', command=create_cio_logo)
    bou2.pack()
    fen1.mainloop()
    fen1.destroy()

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Collégien
    Inscrit en
    Avril 2013
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Collégien
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2013
    Messages : 10
    Points : 8
    Points
    8
    Par défaut Erreur dans le code source
    Merci j'ai compris mais cepedant je rencontre certaines difficultés qui sont :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    def create_cio_logo():
        colors = ["red", "black", "yellow", "blue", "green"]
        x, y = BASE
        d = DIAMETER
        for i in range(3):
            can1.create_oval(x, y, x+d, y+d, width=2, outline=colors[i])
            x += OFFSET
        x = BASE[0] + OFFSET / 2.0
        y += OFFSET
        for i in range(2):
            can1.create_oval(x, y, x+d, y+d, width=2, outline=colors[i+3])
            x += OFFSET

    mais je ne comprend pas trop les lignes 8 et 10 et 13 et aussi la fonction create_oval dans le lien que vous avez posté.

    Merci de me repondre...

Discussions similaires

  1. Erreur dans le code source
    Par Estomac dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 30/07/2013, 16h37
  2. Réponses: 2
    Dernier message: 20/05/2012, 18h25
  3. Réponses: 1
    Dernier message: 20/05/2011, 09h38
  4. Réponses: 2
    Dernier message: 01/06/2010, 15h03
  5. erreur dans le code source
    Par oracle.walid dans le forum C++
    Réponses: 4
    Dernier message: 06/01/2007, 16h17

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