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 :

Projet : Sud-O-Cul


Sujet :

Python

  1. #21
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Par défaut
    Oui, en effet. Voilà le code entier.
    J'ai lu son topic, il y a des choses qui vont m'aider mais pour l'instant, je reste bloqué.
    Je pensais qu'avec le code pour connaître la position du clique et la fonction qui permet de jouer, m'aurait permis d'écrire dans les cases mais hélas, impossible. Que faire ? 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
    from tkinter import messagebox
    import tkinter as tk
     
    def About () : messagebox.showinfo (title="A propos",)
    def Comment_jouer () : messagebox.showinfo ("Comment jouer ?", "Le but du jeu est de remplir ces cases avec des chiffres allant de 1 à 9 en veillant toujours à ce qu'un même chiffre ne figure qu'une seule fois par colonne, une seule fois par ligne, et une seule fois par carré de neuf cases.")     
     
    def create_lines_vert(canvas):
        scale = 480/9
        for i in range(0, 10):
            if (i!=4) and (i!=7) :
                canvas.create_line(i*scale, 0, i*scale, 580, width =1);
            else :
                canvas.create_line(i*scale, 0, i*scale, 580, width =3);
     
    def create_lines_hor (canvas) :
        scale = 480/9
        for j in range (0, 10) :
            if (j!=4) and (j!=7) :
                canvas.create_line(0, j*scale, 580, j*scale, width = 1);
            else :
                canvas.create_line (0, j*scale, 580, j*scale, width = 3) ;
     
    def create_menu(app):
     
        menu = tk.Menu(app)
     
        m = tk.Menu(menu)
        m.add_command(label="Quitter le jeu", command=app.destroy)
        menu.add_cascade (label= "Partie", menu=m)
     
        menu.add_command(label="Comment jouer", command= Comment_jouer)
        menu.add_command(label=" A propos", command = About)
     
        app['menu'] = menu
     
     
        l_case = 450/9
        h_case = 450/9
     
    def click( self, event ):
          self.clickPosition( event.x, event.y )
     
          l_case = 450/9
          h_case = 450/9
     
          case_x= (event.x) / l_case
          case_y= (event.y) / h_case
     
     
          centre_case_x= (case_x - 1) * l_case + l_case /2;
          centre_case_y= (case_y -1) * h_case +h_case /2;
     
          if (case_x==0) :
              centre_case_x = l_case /2
          else :
              centre_case_x = (case_x-1)*l_case + l_case/2;
     
          if (case_y==0) :
              centre_case_y = h_case /2
          else :
              centre_case_y = (case_y -1) * h_case + h_case /2 ;
     
     
    def ecrire (event) :
            grid.create_text ( click, fill=text_color, text='', font=canvas.font )
     
    if __name__ == '__main__':
        app = tk.Tk()
        app.title(" Sudoku ")
     
        create_menu(app)
        grid = tk.Canvas(app, width=450, height=450, bg='SaddleBrown', bd = 55, relief="ridge")
        grid.pack()
        create_lines_vert(grid)
        create_lines_hor (grid)
        click
     
        app.mainloop()

  2. #22
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    La solution est dans l'autre post. Pourquoi ne pas prendre le temps de lire et comprendre le code posté par d'autres?
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #23
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Par défaut
    Je rencontre un problème que je n'arrive pas à résoudre. Le problème est au niveau de def jouer. Je ne vois pas quel est le problème.


    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
    79
    80
    81
    82
    83
    84
    85
    from tkinter import messagebox
    import tkinter as tk
     
    def About () : messagebox.showinfo (title="A propos",)
    def Comment_jouer () : messagebox.showinfo ("Comment jouer ?", "Le but du jeu est de remplir ces cases avec des chiffres allant de 1 à 9 en veillant toujours à ce qu'un même chiffre ne figure qu'une seule fois par colonne, une seule fois par ligne, et une seule fois par carré de neuf cases.")     
     
    def create_lines_vert(canvas):
        scale = 480/9
        for i in range(0, 10):
            if (i!=4) and (i!=7) :
                canvas.create_line(i*scale, 0, i*scale, 580, width =1);
            else :
                canvas.create_line(i*scale, 0, i*scale, 580, width =3);
     
    def create_lines_hor (canvas) :
        scale = 480/9
        for j in range (0, 10) :
            if (j!=4) and (j!=7) :
                canvas.create_line(0, j*scale, 580, j*scale, width = 1);
            else :
                canvas.create_line (0, j*scale, 580, j*scale, width = 3) ;
     
    def create_menu(app):
     
        menu = tk.Menu(app)
     
        m = tk.Menu(menu)
        m.add_command(label="Quitter le jeu", command=app.destroy)
        menu.add_cascade (label= "Partie", menu=m)
     
        menu.add_command(label="Comment jouer", command= Comment_jouer)
        menu.add_command(label=" A propos", command = About)
     
        app['menu'] = menu
     
     
        l_case = 450/9
        h_case = 450/9
     
    def click( self, event ):
          self.clickPosition( event.x, event.y )
     
          l_case = 450/9
          h_case = 450/9
     
          case_x= (event.x) / l_case
          case_y= (event.y) / h_case
     
     
          centre_case_x= (case_x - 1) * l_case + l_case /2;
          centre_case_y= (case_y -1) * h_case +h_case /2;
     
          if (case_x==0) :
              centre_case_x = l_case /2
          else :
              centre_case_x = (case_x-1)*l_case + l_case/2;
     
          if (case_y==0) :
              centre_case_y = h_case /2
          else :
              centre_case_y = (case_y -1) * h_case + h_case /2 ;
     
     
    def jouer(event):
         w =  event.widget
              value = event.keysym if event.keysym in '123456789' else ''
              if value:
                  r, c = correspond(event.y,event.x)
                  if (r, c) in cases:
                     w.itemconfigure(cases[(r, c)], text=value)
     
    if __name__ == '__main__':
        app = tk.Tk()
        app.title(" Sudoku ")
     
        create_menu(app)
        grid = tk.Canvas(app, width=450, height=450, bg='SaddleBrown', bd = 55, relief="ridge")
        grid.pack()
        create_lines_vert(grid)
        create_lines_hor (grid)
        click
        Can.bind( '<KeyPress>', jouer)
        Can.focus_set()
     
        app.mainloop()

  4. #24
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Citation Envoyé par Pytdeb Voir le message
    Je rencontre un problème que je n'arrive pas à résoudre. Le problème est au niveau de def jouer. Je ne vois pas quel est le problème.
    Moi non plus... Plus sérieusement, il faudrait poser une question précise.

    Au passage, c'est dans quel cadre que tu as besoin ou envie de faire un sudoku.

  5. #25
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Par défaut
    Quand je dis qu'il y a un problème, c'est que quand j'essaye de faire fonctionner le code, python me sort "unexpected indent" à value dans def jouer. Pourtant, je ne vois pas d'erreur.

    C'est un projet que je me suis donné pour débuter en codage.

  6. #26
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 881
    Par défaut
    unexpected indent
    Tu aurais commencer par là, ça semble évident maintenant, l'erreur est explicite, c'est une mauvaise indentation, la ligne saute aux yeux!

  7. #27
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    Citation Envoyé par Pytdeb Voir le message
    Quand je dis qu'il y a un problème, c'est que quand j'essaye de faire fonctionner le code, python me sort "unexpected indent" à value dans def jouer. Pourtant, je ne vois pas d'erreur.
    Pas la peine de s'énerver. En étant explicite et concis tu auras une réponse. Et comme te le dit fred, l'erreur est claire !

  8. #28
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Par défaut
    Oui, en faite c'était sa, merci.

    Je ne me suis pas énervé Je me suis peut-être mal exprimé

  9. #29
    Membre éprouvé

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Par défaut
    C'est moi qui me suis énervé tout seul...

  10. #30
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Par défaut
    Bonjour,

    après plusieurs heures de recherche, je reste bloqué indéfiniment. Je ne trouve pas de solutions à comment faire en sorte d'écrire dans la case de ma grille malgré cette page. http://www.developpez.net/forums/d13...rille-tkinter/

    Pouvez- vous m'aider à me débloquer ? 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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    from tkinter import messagebox
    import tkinter as tk
     
    def About () : messagebox.showinfo (title="A propos",)
    def Comment_jouer () : messagebox.showinfo ("Comment jouer ?", "Le but du jeu est de remplir ces cases avec des chiffres allant de 1 à 9 en veillant toujours à ce qu'un même chiffre ne figure qu'une seule fois par colonne, une seule fois par ligne, et une seule fois par carré de neuf cases.")     
     
    def create_lines_vert(canvas):
        scale = 450/9
        for i in range(0, 10):
            if (i!=4) and (i!=7) :
                canvas.create_line(i*scale, 0, i*scale, 580, width =1);
            else :
                canvas.create_line(i*scale, 0, i*scale, 580, width =3);
     
    def create_lines_hor (canvas) :
        scale = 450/9
        for j in range (0, 10) :
            if (j!=4) and (j!=7) :
                canvas.create_line(0, j*scale, 580, j*scale, width = 1);
            else :
                canvas.create_line (0, j*scale, 580, j*scale, width = 3) ;
     
     
    def create_menu(app):
     
        menu = tk.Menu(app)
     
        m = tk.Menu(menu)
        m.add_command(label="Quitter le jeu", command=app.destroy)
        menu.add_cascade (label= "Partie", menu=m)
     
        menu.add_command(label="Comment jouer", command= Comment_jouer)
        menu.add_command(label=" A propos", command = About)
     
        app['menu'] = menu
     
     
        l_case = 450/9
        h_case = 450/9
     
    def click( self, event ):
          self.clickPosition( event.x, event.y )
     
          l_case = 450/9
          h_case = 450/9
     
          case_x=int( (event.x) / l_case)
          case_y= int ((event.y) / h_case)
     
          for r in range :
              centre_case_x= (case_x - 1) * l_case + l_case /2;
          for c in range :
              centre_case_y= (case_y -1) * h_case +h_case /2;
              centre_case [(r, c)] = grid.create_text (x, y, text='0')
     
          if (case_x==0) :
              centre_case_x = l_case /2
          else :
              centre_case_x = (case_x-1)*l_case + l_case/2;
     
          if (case_y==0) :
              centre_case_y = h_case /2
          else :
              centre_case_y = (case_y -1) * h_case + h_case /2 ;
     
     
     
    def jouer(event):
        w =  event.widget
        value = event.keysym if event.keysym in '123456789' else ''
        if value:
            r, c = event.y,event.x
        if (r, c) in cases:
             w.itemconfigure(cases[(r, c)], text=value)
     
    if __name__ == '__main__':
        app = tk.Tk()
        app.title(" Sudoku ")
     
        create_menu(app)
        grid = tk.Canvas(app, width=450, height=450, bg='SaddleBrown', bd = 55, relief="ridge")
        grid.pack()
        create_lines_vert(grid)
        create_lines_hor (grid)
        click
        grid.bind( '<KeyPress>', jouer)
        grid.focus_set()
     
        app.mainloop()

  11. #31
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Salut,
    Où sont créées les "cases" modifiées dans "jouer" par w.itemconfigure(cases[(r, c)], text=value)?
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  12. #32
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Par défaut
    Bonjour, désoler pour la réponse tardive. Je bloqué énormément alors j'ai essayer de réajuster mon code.
    A présent, j'ai un autre soucis. Mon but est à présent d'utiliser le widget label afin d'insérer une image que j'aurais faites moi-même. Je veux faire en sorte que lorsque le joueur tape sur le chiffre 1 du pavé numérique, c'est l'image du chiffre 1 que j'aurais crée qui sortira mais je n'y arrive pas, comment faire ?
    J'ai crée une fonction pour trouver la position de la case, ça me semble correct, pas d'erreur affiché, pouvez vous me le confirmer ?
    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
    from tkinter import messagebox
    import tkinter as tk
     
    def About () : messagebox.showinfo (title="A propos",)
    def Comment_jouer () : messagebox.showinfo ("Comment jouer ?", "Le but du jeu est de remplir ces cases avec des chiffres allant de 1 à 9 en veillant toujours à ce qu'un même chiffre ne figure qu'une seule fois par colonne, une seule fois par ligne, et une seule fois par carré de neuf cases.")     
    def create_menu(app):
     
        menu = tk.Menu(app)
     
        m = tk.Menu(menu)
        m.add_command(label="Quitter le jeu", command=app.destroy)
        menu.add_cascade (label= "Partie", menu=m)
     
        menu.add_command(label="Comment jouer", command= Comment_jouer)
        menu.add_command(label=" A propos", command = About)
     
        app['menu'] = menu
     
     
        l_case = 450/9
        h_case = 450/9
     
    def create_lines_vert(canvas):
        scale = 450/9
        for i in range(0, 10):
            if (i!=3) and (i!=6) :
                canvas.create_line(i*scale, 0, i*scale, 450, width =1);
            else :
                canvas.create_line(i*scale, 0, i*scale, 450, width =3);
     
    def create_lines_hor (canvas) :
        scale = 450/9
        for j in range (0, 10) :
            if (j!=3) and (j!=6) :
                canvas.create_line(0, j*scale, 580, j*scale, width = 1);
            else :
                canvas.create_line (0, j*scale, 580, j*scale, width = 3) ;
     
     
     
     
     
    case = 50
     
    def pos_case (event) :
        pos_case_x = (event.x) - (event.x) %case
        pos_case_y = (event.y) - (event.y) % case
     
     
    if __name__ == '__main__':
        app = tk.Tk()
        app.title(" Sudoku ")
     
        create_menu(app)
        grid = tk.Canvas(app, width=450, height=450, bg='SaddleBrown')
        grid.pack()
        create_lines_vert(grid)
        create_lines_hor (grid)
        grid.bind("<Button-1>",pos_case)
     
        app.mainloop()

  13. #33
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Par défaut
    Bonjour, j'ai trouver quelques trucs. Par contre, je n'arrive toujours pas à importer une image. Pouvez vous m'aider ? 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
    from tkinter import messagebox
    import tkinter as tk
    from pil import Image, ImageTk 
     
    def About () : messagebox.showinfo (title="A propos",)
    def Comment_jouer () : messagebox.showinfo ("Comment jouer ?", "Le but du jeu est de remplir ces cases avec des chiffres allant de 1 à 9 en veillant toujours à ce qu'un même chiffre ne figure qu'une seule fois par colonne, une seule fois par ligne, et une seule fois par carré de neuf cases.")     
    def create_menu(app):
     
        menu = tk.Menu(app)
     
        m = tk.Menu(menu)
        m.add_command(label="Quitter le jeu", command=app.destroy)
        menu.add_cascade (label= "Partie", menu=m)
     
        menu.add_command(label="Comment jouer", command= Comment_jouer)
        menu.add_command(label=" A propos", command = About)
     
        app['menu'] = menu
     
     
        l_case = 450/9
        h_case = 450/9
     
    def create_lines_vert(canvas):
        scale = 450/9
        for i in range(0, 10):
            if (i!=3) and (i!=6) :
                canvas.create_line(i*scale, 0, i*scale, 450, width =1);
            else :
                canvas.create_line(i*scale, 0, i*scale, 450, width =3);
     
    def create_lines_hor (canvas) :
        scale = 450/9
        for j in range (0, 10) :
            if (j!=3) and (j!=6) :
                canvas.create_line(0, j*scale, 580, j*scale, width = 1);
            else :
                canvas.create_line (0, j*scale, 580, j*scale, width = 3) ;
     
     
     
     
     
    case = 50
     
    def pos_case (event) :
        pos_case_x = (event.x) - (event.x) %case
        pos_case_y = (event.y) - (event.y) % case
     
    def nb_1 (canvas) :
        image = Image.open("one.png")
        photo= ImageTk.PhotoImage (image)
     
    if __name__ == '__main__':
        app = tk.Tk()
        app.title(" Sudoku ")
     
        create_menu(app)
        grid = tk.Canvas(app, width=450, height=450, bg='SaddleBrown')
        grid.pack()
        canvas= Tk.Canvas(grid, width = image.siez[0], height =image.size[1])
        canvas.create_image(pos_case_x, pos_case_y, image)
        create_lines_vert(grid)
        create_lines_hor (grid)
        grid.bind("<Button-1>",pos_case)
        bind ("<K_1>", nb_1)
     
        app.mainloop()

  14. #34
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Salut,
    Avez vous regardé la FAQ?
    Pourquoi vous disperser à améliorer la "présentation" plutôt que vous concentrer sur la mise en place d'un "fonctionnel" dont la présentation pourra être revue plus tard?
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  15. #35
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Par défaut
    Salut et merci d'avoir répondu.

    Pourquoi vous disperser à améliorer la "présentation
    Je cherche à faire en sorte que lorsque le joueur tape sur un chiffre dans le pavé numérique, une image sorte (c'est à dire, par exemple, quand il tape 1, l'image d'un chiffre 1 que j'aurais moins même fait, s'affiche) car je n'arrive pas avec l'autre méthode, je reste bloqué indéfiniment. Je veux juste que la touche et l'image ne fassent qu'un. Je ne vois pas en quoi j'améliore la présentation.


    Avez vous regardé la FAQ?
    Oui, j'ai fait des recherches avant. Et mon problème est que sa m'écrit que PIL n'existe pas, n'est pas un module. C'est donc pour quoi je suis venu demandé de l'aide.

    Je ne sais pas si vous me comprenez, je m'exprime peut-être mal, j'en suis désolé.

  16. #36
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Salut,

    Citation Envoyé par Pytdeb Voir le message
    car je n'arrive pas avec l'autre méthode, je reste bloqué indéfiniment. Je veux juste que la touche et l'image ne fassent qu'un. Je ne vois pas en quoi j'améliore la présentation.
    Si "l'autre méthode" est celle qui utilise des Entry mises à jour avec un callback traitant les événements de type "<Key>", le code existe: il vous suffit de le recopier et de poser des questions sur ce que vous ne comprenez pas.
    Tant que vous n'aurez pas compris comment çà fonctionne, il vous sera difficile de modifier ce code, ou d'envisager de le réaliser autrement.

    Oui, j'ai fait des recherches avant. Et mon problème est que sa m'écrit que PIL n'existe pas, n'est pas un module. C'est donc pour quoi je suis venu demandé de l'aide.
    PIL est un module optionnel.
    Il doit être installé avant de pouvoir être utilisé.

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

  17. #37
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Par défaut
    Si "l'autre méthode" est celle qui utilise des Entry mises à jour avec un callback traitant les événements de type "<Key>", le code existe:
    Je vais chercher sa.

    PIL est un module optionnel.
    Il doit être installé avant de pouvoir être utilisé.
    En effet, je m'en suis rendu compte, le soucis, c'est que je n'arrive pas à l'installer. J'ai essayer deux méthode :

    1°) Télécharger directement le logiciel pour 3.2. J'essaye de l'installer, mais il ne trouve pas le dossier python et je ne peux pas le faire manuellement donc impossible.

    2°) Je l'ai chercher en .zip, j'ai mis les fichiers à la racine du programme et j'obtiens :

    line 3, in <module>
    from PIL import Image, ImageTk
    File "C:\Program Files (x86)\Python\PIL\Image.py", line 155, in <module>
    if hasattr(core, 'DEFAULT_STRATEGY'):
    File "C:\Program Files (x86)\Python\PIL\Image.py", line 39, in __getattr__
    raise ImportError("The _imaging C module is not installed")
    ImportError: The _imaging C module is not installed

    EDIT: Je laisse tomber pour PIL, j'arrive pas à l'installer, je cherche ce que vous avez dit, une piste ? Merci.

  18. #38
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Salut,

    Citation Envoyé par Pytdeb Voir le message
    1°) Télécharger directement le logiciel pour 3.2. J'essaye de l'installer, mais il ne trouve pas le dossier python et je ne peux pas le faire manuellement donc impossible.
    Les bibliothèques additionnelles Python ne sont pas toujours écrites en Python. Leur installation passe par un "compile&run" qui suppose qu'une "toolchain" ait été construite "pour". Ce qui dépasse souvent les capacités d'un débutant. Sous Windows aller vous servir chez Gholke, il fournit des packages compilés pour différents Python/Windows.

    EDIT: Je laisse tomber pour PIL, j'arrive pas à l'installer, je cherche ce que vous avez dit, une piste ? Merci.
    C'est toujours dans la même discussion

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

  19. #39
    Membre averti
    Profil pro
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Par défaut
    Merci.

    Pouvez vous m'aider pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def jouer(event):
         w =  event.widget
             value = event.keysym if event.keysym in '123456789' else ''
             if value:
                 r, c = correspond(event.y,event.x)
                 if (r, c) in cases:
                    w.itemconfigure(cases[(r, c)], text=value)
    Je n'y comprends pas grand chose...

  20. #40
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Il n'y a rien à comprendre!
    Il suffit de lire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def jouer(event):
         w =  event.widget
         value = event.keysym if event.keysym in '123456789' else ''
         if value:
            r, c = correspond(event.y,event.x)
            if (r, c) in cases:
               w.itemconfigure(cases[(r, c)], text=value)
    jouer est appelé lorsque le "joueur" a tapé sur un caractère.
    1. value récupère le caractère s'il est dans '12346789' ou '' sinon.
    2. si value (est dans '12346789')
    2.1 on récupère le numéro de la case (r,c) associé à la position
    2.2 si c'est une case, on met value dans la cases[(r,c)]

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

Discussions similaires

  1. Microsoft étend son projet 4Afrika à l'Afrique du Sud
    Par Stéphane le calme dans le forum Actualités
    Réponses: 1
    Dernier message: 02/08/2013, 12h02
  2. Qu'est ce qu'un grand projet ?
    Par Geronimo dans le forum Débats sur le développement - Le Best Of
    Réponses: 62
    Dernier message: 04/04/2013, 15h52
  3. Les fichiers d'un projet
    Par Manolo dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/05/2002, 18h51

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