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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 Projet : Sud-O-Cul
    Bonjour, j'essaye de réaliser un sudoku mais je bloque, j'ai créer une fenêtre, et j'ai dessiné des lignes verticalement et horizontalement, 9 cases par lignes et colonnes.

    Mon problème est, comment faire pour rentrer des chiffres à l'intérieur de ces cases ? Faut-il trouver la position de chaque case ?

    Et savez vous comment faire pour sauter des lignes dans messagebox.showinfo ? J'ai chercher mais je trouve pas, normalement, on utilise \n mais ça ne marche pas du tout.

    Merci de votre aide.

    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
    from tkinter import*
    from tkinter import messagebox
    import tkinter as Tk
     
     
    sudoku = Tk.Tk()
    sudoku.title(" Sudoku ")
     
     
     
     
    def About () : messagebox.showinfo (title="A propos", message = "Version 1.0")
    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.")     
     
     
     
    mainmenu = Tk.Menu(sudoku)
    menu_partie = Tk.Menu(mainmenu)
    menu_partie.add_command(label="Quitter le jeu", command=sudoku.destroy)
     
    menu_help = Tk.Menu(mainmenu)
    menu_help.add_command(label="Comment jouer", command= Comment_jouer)
    menu_help.add_command(label=" A propos", command = About)
     
    mainmenu.add_cascade (label= "Partie", menu=menu_partie)
    mainmenu.add_cascade(label= "Aide", menu=menu_help)
     
     
    sudoku.config(menu=mainmenu)
     
     
    surface_dessin = Canvas(sudoku, width=480, height=480, bg='SaddleBrown', bd = 55, relief="ridge")
    surface_dessin.pack()
     
     
    scale = 480/9;
     
    for i in range(0, 10):
        if (i!=4) and (i!=7) :
            surface_dessin.create_line(i*scale, 0, i*scale, 580, width =1);
        else :
            surface_dessin.create_line(i*scale, 0, i*scale, 580, width =3);
     
     
     
    for j in range (0, 10) :
        if (j!=4) and (j!=7) :
            surface_dessin.create_line (0, j*scale, 580, j*scale, width = 1) ;
        else :
            surface_dessin.create_line (0, j*scale, 580, j*scale, width = 3) ;
     
     
     
     
     
     
     
     
     
     
     
     
    sudoku.mainloop()

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,
    Vous avez tout ce qu'il faut dans ce post
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    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
    Un peu trop kuku le titre...

  4. #4
    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
    Bonsoir, merci beaucoup pour le lien. Il m'a été un chouïa utile, difficile de bien comprendre le codage.

    J'ai essayé de comprendre son code pour l'ajout de chiffre mais je ne comprends comment il a fait, quelqu'un peut m'expliquer ?

    Ou bien avez vous une autre solution pour cliquer à un endroit et y rentrer un chiffre au centre de la case sachant que ce n'est pas vraiment une case ?

    Je ne sais pas si vous allez me comprendre

    Merci encore de votre aide.

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Salut,
    C'est pas si compliqué!

    A la construction d'une instance de SudokuGrid, il y a un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            self.bind('<KeyPress>', self.on_keyPress)
    le callback sera appelé à chaque Key Press.
    Ca déroule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        def on_keyPress(self, event):
            value = event.keysym if event.keysym in '123456789' else ''
            iid = self.find_withtag('current')[0]
            if iid in self._items:
                self._items[iid].set_value(value)
    En français, on récupère le caractère tapé (.keysym)
    S'il est dans 1..9 on positionne "value" à sa valeur sinon value devient ''.
    ".find_withtag('current')[0]" permet de récupérer l'identifiant de l'objet 'current'.
    Puis on cherche à quelle Cell il correspond via la map "._items".
    Si on trouve un Cell, on délègue le reste du boulot à la méthode .set_value

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        def set_value(self, value, initial=False):
            itemconfig = self.canvas.itemconfigure
            s = str(value) if value else ''
            itemconfig(self._label, text=s)
            self.value = value
            if initial:
                self.disable()
                self._is_initial = True
    Le paramètre value pouvant être "int" ou "str", null ou vide on le convertit en "str" dans s. self._label contient l'item Text à mettre à jour: un coup d'itemconfigure et puis voilà.

    Ce code ne fait "qu'afficher" et gérer des événements de "base".
    Côté permettre à un utilisateur de "jouer" une grille, il sait charger la grille initiale mais il ne s'occupe pas du tout de valider les nombres entrés: le dialogue avec l'utilisateur et la gestion de l'état du jeu sont "à faire".

    s/classer ou modifier le code existant sera probablement nécessaire selon "l'user expérience" que vous voudrez réaliser.

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

  6. #6
    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 te remercie pour ton aide !

    Si ça te dérange pas, tu pourrais me dire quel est la fonction que tu utilises ? Parce que je me vois pas sortir ce code du jour au lendemain et puis, à vrai dire, j'y comprends pas grand chose, je suis qu'un débutant hein, pas amateur

  7. #7
    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()

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    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

  9. #9
    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()

  10. #10
    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.

  11. #11
    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.

  12. #12
    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()

  13. #13
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    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

  14. #14
    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é.

  15. #15
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    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

  16. #16
    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.

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, 11h02
  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, 14h52
  3. Les fichiers d'un projet
    Par Manolo dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/05/2002, 17h51

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