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 :

Projet ISN Numpy et tkinter [Python 3.X]


Sujet :

Tkinter Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 10
    Points
    10
    Par défaut Projet ISN Numpy et tkinter
    Bonjour,
    Je voudrais savoir s'il est possible d'afficher une matrice réalisée sous numpy avec l'interface tkinter ? On cherche a créer une grille de sudoku et la résoudre ensuite en fonction des chiffres de l'utilisateur.

    Merci d'avance de votre aide

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par Louis63584 Voir le message
    Je voudrais savoir s'il est possible d'afficher une matrice réalisée sous numpy avec l'interface tkinter ?
    C'est possible. Il faut juste écrire le code qui le fait.

    Citation Envoyé par Louis63584 Voir le message
    On cherche a créer une grille de sudoku et la résoudre ensuite en fonction des chiffres de l'utilisateur.
    Pourquoi utiliser un array numpy dans ce cas là?

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

  3. #3
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    Salut,

    Pourquoi utiliser un array numpy dans ce cas là?
    En fait ce qu'on voudrait faire, c'est résoudre une grille déjà existante. Donc on a pensé qu'utiliser un array numpy serait le plus simple.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    Re-bonjour,
    Ayant résolu mon problème, je voudrais poser une autre question. Etant débutant, je cherche à augmenter l'épaisseur des lignes de bordure et d'une ligne sur 3 en colonne et en ligne pour mettre en évidence les carrés de 9 de mon sudoku. Ainsi, j'augmente l'épaisseur de toutes les lignes, mais comment rediminuer celles qui ne sont pas nécessaires pour moi ?

    Merci d'avance !

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par Louis63584 Voir le message
    Etant débutant, je cherche à augmenter l'épaisseur des lignes de bordure et d'une ligne sur 3 en colonne et en ligne pour mettre en évidence les carrés de 9 de mon sudoku. Ainsi, j'augmente l'épaisseur de toutes les lignes, mais comment rediminuer celles qui ne sont pas nécessaires pour moi ?
    Les lignes que vous voyez à l'écran peuvent être produites/affichées par différentes méthodes.
    Comment faire dépend de la méthode que vous avez utilisé vous.
    Et comme vous ne postez pas de code, pas facile de deviner.

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

  6. #6
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    Bonjour,
    Je vous passe 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
    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
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    from tkinter import *
    import tkinter.messagebox
    import tkinter.filedialog
    import tkinter
    import random
    from numpy import *
     
    ecriture=("comic sans ms",13)
    nbcase=9
    case=50
    x0,y0=9,9
    chiffre=[0,1,2,3,4,5,6,7,8,9]
     
     
    Mafenetre = Tk()
    Mafenetre.title("Jeu du sudoku")
     
    cases = dict()
    cases=zeros((9,9),'i')
     
     
    def grille():
     
        continuer=1
        while continuer==1:
            i=int(input("Ligne ? (0 à 8) "))
            if i<0 or i>8:
                i=int(input("Ligne ? (0 à 8) "))
     
            j=int(input("Colonne ? (0 à 8) "))
            if j<0 or j>8:
                j=int(input("Colonne ? (0 à 8) "))
     
            m=int(input("Valeur ? (1 à 9) "))
            if m<1 or m>9:
                m=int(input("Valeur ? (1 à 9) "))
     
            cases[j,i] = m;
            continuer=int(input("Continuer ? 1 pour Oui, 0 pour Non "))
     
            r=1
            c=1
        for r in range(nbcase):
            x = x0 + case * r + case // 2
            for c in range(nbcase):
                y = y0 + case * c + case // 2
     
                if cases[r, c]!=0:
                    cases[r, c] = Can.create_text(x, y, text=cases[r,c])
                else:
                    cases[r, c] = Can.create_text(x, y, text='')
     
     
    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)
     
     
    def correspond(x,y):
        return [(y-y0)/c,(x-x0)/c]
     
     
    def Apropos():
        tkinter.messagebox.showinfo("A propos","Tutorial Python Tkinter\n(C) Fabrice Sincère")
     
    def Règles():
        tkinter.messagebox.showinfo("Règles","Un sudoku classique contient neuf lignes et neuf colonnes, donc 81 cases au total. 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.\nAu début du jeu, Des chiffres sont déjà placés et il vous reste à trouver les autres. En effet, une grille initiale de sudoku correctement constituée ne peut aboutir qu'à une et une seule solution.")
     
    def Résolution():
        tkinter.messagebox.showinfo("Résolution","VOIR AVEC PIERRE-FRANCOIS")
    def Quitter():
        Mafenetre.destroy()
     
    Cadre=Frame(Mafenetre)
    TexteC=Text(Mafenetre,height=25,width=25)
    Can=Canvas(Cadre,height=500,width=500,bg="white")
    Can2=Canvas(highlightthickness= 3)
    Cadre.grid(row=1,column=0)
    Can.grid(row=2, column=0)
    TexteC.grid(row=1, column=3)
     
    Can.bind( '<KeyPress>', jouer)
    Can.focus_set()
     
    # Création d'un widget Menu
    menubar = Menu(Mafenetre)
     
    menuNouvellePartie = Menu(menubar,tearoff=0)
    menubar.add_command(label="Nouvelle Partie...", command=grille)
     
    menuRésolution = Menu(menubar,tearoff=0)
    menuRésolution.add_command(label="Grille Personelle",command=grille)
    menuRésolution.add_command(label="Grille Actuelle",command=Résolution)
    menubar.add_cascade(label="Résolution", menu=menuRésolution)
     
    menurègles = Menu(menubar,tearoff=0)
    menurègles.add_command(label="Règles", command=Règles)
    menubar.add_cascade(label="Règles", menu=menurègles)
     
    menuaide = Menu(menubar,tearoff=0)
    menuaide.add_command(label="A propos",command=Apropos)
    menubar.add_cascade(label="A propos de", menu=menuaide)
     
    menuQuitter = Menu(menubar,tearoff=0)
    menuQuitter.add_command(label="Quitter", command=Quitter)
    menubar.add_cascade(label="Quitter le jeu", menu=menuQuitter)
     
    # Affichage du menu
    Mafenetre.config(menu=menubar)
     
    # Utilisation d'un dictionnaire pour conserver une référence
    gifdict={}
     
    Mafenetre.mainloop()
    Voilà Voilà

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Je n'ai pas de temps pour comprendre comment faire fonctionner votre code. La réponse à ma question étant "j'utilise un canvas", pour tracer des lignes vous avez create_line et la possibilité d'en préciser l'épaisseur avec "width".

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

  8. #8
    Membre à l'essai
    Homme Profil pro
    Lycéen
    Inscrit en
    Janvier 2015
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Janvier 2015
    Messages : 17
    Points : 10
    Points
    10
    Par défaut
    Merci ! C'est bon j'y suis arrivé

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

Discussions similaires

  1. [Question] Projet ISN - Tkinter ou pas ?
    Par Tom38211 dans le forum Tkinter
    Réponses: 3
    Dernier message: 21/12/2014, 20h44
  2. Projet ISN Python programme Piano Tkinter
    Par Biloute42 dans le forum Programmation multimédia/Jeux
    Réponses: 4
    Dernier message: 07/05/2014, 18h11
  3. Projet ISN Planche de Galton Python/Pygame/Tkinter
    Par Mmemykon dans le forum Tkinter
    Réponses: 13
    Dernier message: 24/04/2014, 22h28
  4. projets isn debutant pb avec tkinter
    Par ssydjay dans le forum Général Python
    Réponses: 0
    Dernier message: 07/04/2014, 10h57
  5. [Développement] Projet ISN / Application
    Par ArnaudSchu dans le forum Objective-C
    Réponses: 0
    Dernier message: 22/10/2012, 21h25

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