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 :

affichage d'un tableau sur Tkinter


Sujet :

Tkinter Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2020
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2020
    Messages : 1
    Points : 1
    Points
    1
    Par défaut affichage d'un tableau sur Tkinter
    Bonjour, actuellement étudiant, j'ai besoin de faire un tableau intéractif avec Tkinter, j'y arrive avec une liste (en 1 dimension) mais je n'arrive pas à adapter ma fonction à un tableau en 2 dimensions. Pourriez vous m'indiquer la démarche à suivre ou comment modifier la fonction "afficher".

    Merci beaucoup (je suis débutant)


    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
    import tkinter as tk
    from numpy import *
     
    w = tk.Tk() # fenêtre principale
     
    tableau = [0 for i in range(10)] 
    couleurs = {0: "white", 1: "black"}
     
     
    can_width = 500 # dimensions du canevas
    can_height = 500
     
    size = 50  #taille d'une "case"
     
    can = tk.Canvas(w, width=can_width, height=can_height) # création canevas
    can.grid()
     
     
    """ Fonction d'affichage du tableau """ 
    def afficher(t):
     
        # for j in range(tableau.shape[0]):
        for i in range(len(t)):
                can.create_rectangle(i * size,0,i * size + size,size,fill = couleurs[tableau[i]])
     
     
     
     
        """ Fonction appelée lors d'un clic gauche sur le canevas détermine la correspondance entre la position horizontale de la souris et l'élément correspondant du tableau"""
     
    def modifierTableau(evt):
     
     
        pos_x = int(evt.x / size) #evt.x est la position en x de la souris
     
        if tableau[pos_x] == 0:   #inverser la valeur de l'élément cliqué
            tableau[pos_x] = 1
        else:
            tableau[pos_x] = 0
        afficher(tableau)         #ré-afficher le tableau
     
     
     
    afficher(tableau)
     
    can.bind("<Button-1>", modifierTableau) # binding de la fonction modifierTableau sur le canevas
    w.mainloop() # boucle principale

  2. #2
    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 778
    Points
    36 778
    Par défaut
    Salut,

    Citation Envoyé par maxdoux Voir le message
    Merci beaucoup (je suis débutant)
    Si un tableau à 2 dimensions, il va falloir 2 indices pour le parcourir et donc une boucle imbriquée pour l'afficher. Ce que vous avez du apprendre lorsque vous avez vu les listes de listes... avec tant d'autres choses pour ne pas être perdu avec ces détails (supposés acquis) avant se lancer dans la programmation tkinter...

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

Discussions similaires

  1. Affichage d'un graphique sur tkinter
    Par jaky33 dans le forum Tkinter
    Réponses: 3
    Dernier message: 03/03/2018, 13h14
  2. affichage d'un tableau sur 2 colonne
    Par kate59 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 22/09/2008, 22h35
  3. Affichage d'un tableau sur console ou en mode graphique
    Par semah dans le forum Bibliothèque standard
    Réponses: 4
    Dernier message: 19/05/2008, 23h07
  4. Empecher l'affichage d'un tableau sur plusieurs lignes ??
    Par cedre22 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 03/02/2006, 08h47
  5. [JSP]affichage d'un tableau sur plusieurs pages
    Par MAJIK_ENIS dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 29/08/2005, 11h21

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