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 :

Probleme sur mon programme


Sujet :

Tkinter Python

  1. #21
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    SAlut,
    Relisez votre code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for x, y, dx, dy in ((10, 10, 4, 10), (45, 80, 5, 12)):
    #  et ici pyhton n'aime pas mon dx et dy 
        figures.append(create_personnage(canvas, x, y, color='red', dx, dy))                        
    figures.append(create_personnage(canvas, 55, 0, color='blue', dx=8, dy=8))
    Python doit vous indiquer ce qui ne va pas: non-keyword arg after keyword arg
    Ce qui veut dire qu'après avoir color='red' (un keyword arg), il ne sait pas gérer des "non-keyword arg". Dit autrement, il faut écrire machin=truc comme pour la ligne suivante i.e. dx=dx, dy=dy.

    Cela corrigé, attendons l'erreur suivante.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  2. #22
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2018
    Messages : 12
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    J'ai mis du temps a répondre car je n'avais pas vu qu'il y avait une nouvelle page de discussion.

    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
     
    import tkinter as tk
    import time
    dx=0
    dy=0
    figures = []
    def create_personnage(canvas, x, y, color='', legs=0, dx=dx, dy=dy):
        personnage = [ x, y, color, legs, dx, dy ]    
        size = 40
        ccr = canvas.create_rectangle
        ccr(x, y, x+size, y+size, fill=color)
        y0 = y + size + 5
        x0 = x
        if legs % 2:
            ccr(x0, y0, x0+15, y0+10, fill=color)
        else:
            ccr(x0+5, y0, x0+20, y0+10, fill=color)
        x0 = x+25
        if legs % 2:
            ccr(x0, y0, x0+15, y0+10, fill=color)
        else:
            ccr(x0-5, y0, x0+10, y0+10, fill=color)
        return personnage
     
    done = False
    def set_done():
        global done
        done = True
     
    def figures_move(canvas, colors):
        for ix, personnage in enumerate(figures):
            x, y, color, legs, dx, dy = personnage
            if color in colors:
                x += dx
                y += dy
                legs = (legs + 1) % 4
                p = create_personnage(canvas, x, y, color, legs, dx, dy)
                figures[ix] = p # on mémorise la nouvelle position, état.
            else: # on fait du surplace.
                create_personnage(canvas, x, y, color, legs, dx, dy)
    root = tk.Tk()
    canvas = tk.Canvas(root)
    canvas.pack()
    for x, y, dx, dy in ((10, 10, 4, 10), (45, 80, 5, 12)):
        figures.append(create_personnage(canvas, x, y, color='red',dx=dx, dy=dy))                        
        figures.append(create_personnage(canvas, 55, 0, color='blue', dx=8, dy=8))
     
    colors = ['blue', 'red']
     
    while not done:
        canvas.delete('all')
        figures_move(canvas, colors)
        root.update()
        time.sleep(0.2)
    c'est bon il n'y aura plus d'erreur chaque personnage a sa vitesse.
    Cependant, pouvez vous me traduire votre fonction root avec des termes tkinter et non tk car celle la je n'ai vraiment pas réussi a la modifier.

Discussions similaires

  1. probleme sur mon programme
    Par chloecc1991 dans le forum Débuter
    Réponses: 3
    Dernier message: 21/10/2011, 14h43
  2. [TP] Problème avec mon programme de conversion
    Par Panzer95 dans le forum Turbo Pascal
    Réponses: 5
    Dernier message: 28/05/2006, 18h36
  3. avie et probleme sur mon site
    Par coucou449 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 23/12/2005, 09h34
  4. [FLASH MX] Probleme sur mon site....!!
    Par thewill dans le forum Flash
    Réponses: 2
    Dernier message: 07/04/2005, 12h11

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