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 :

Récupérer valeur tableau


Sujet :

Tkinter Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2020
    Messages : 25
    Points : 11
    Points
    11
    Par défaut Récupérer valeur tableau
    Bonsoir,

    je voudrais savoir comment il est possible de pouvoir obtenir les valeurs que je rentre dans mon tableau sous forme de liste afin de pouvoir les réutiliser dans une autre fonction ensuite par exemple.En effet je ne sais comment je pourrai réutiliser les valeurs venant des entrées ....

    Voici 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
    import tkinter as tk
    from tkinter import ttk
     
     
     
    def on_configure(event):
        canvas.configure(scrollregion=canvas.bbox('all'))
     
     
    root = tk.Tk()
     
     
     
    canvas = tk.Canvas(root)
    canvas.pack(side=tk.LEFT,expand=1)
     
    scrollbar = tk.Scrollbar(root, command=canvas.yview)
    scrollbar.pack(side=tk.LEFT, fill='y')
     
    canvas.configure(yscrollcommand = scrollbar.set)
     
     
    canvas.bind('<Configure>', on_configure)
     
    frame = tk.Frame(canvas,borderwidth=5)
    canvas.create_window((0,0), window=frame, anchor='nw')
     
     
     
     
     
     
    height = 20
     
    for i in range(height):
            b = tk.Entry(frame, text="")
            b.grid(row=i, column=1)
     
     
     
     
     
    root.mainloop()








    merci d'avance

    Bonne soirée

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

    La méthode la plus traditionnelle est un "dialogue" où l'utilisateur remplit le tableau avec ses valeurs puis clique sur un Button pour signaler la fin de la saisie.

    Et le callback/function appelée à ce moment là va récupérer le contenu des différentes Entry(ies) pour en faire ce qu'on veut.

    Si vous partez la dessus, il manque déjà dans votre code, le Button, la fonction à appeler, l'organisation des Entry en collection pour aller récupérer le contenu...

    Vous pouvez imaginer d'autres interactions avec l'utilisateur mais sans les décrire ou en trouver trace dans le code que vous avez posté...


    - W

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2020
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Merci pour votre réponse, mais étant donné que le nombre de ligne de de mon tableau sera un paramètre variable, je ne vois pas qu’est ce que je dois récupérer pour obtenir les valeurs ....

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

    Les valeurs à récupérer seront le contenu des Entry.
    Si vous en avez fait une collection (liste, dictionnaire).
    Vous savez balayer les éléments de la collection avec une boucle.

    - W
    PS: Je suppose car si vous voulez programmer avec tkinter sans connaître listes, boucles, collections,... c'est pas gagné!

  5. #5
    Membre à l'essai
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Avril 2020
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2020
    Messages : 25
    Points : 11
    Points
    11
    Par défaut
    Ok je viens de modifier le programme mais du coup les valeurs de la liste restent dans la fonction exécuter par le boutton comment dois je faire afin de pouvoir utiliser la liste en dehors de la function ?

    Bonne soirée
    cdt


    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
    import tkinter as tk
    from tkinter import ttk
     
     
     
    def on_configure(event):
        canvas.configure(scrollregion=canvas.bbox('all'))
     
     
    root = tk.Tk()
     
     
     
    canvas = tk.Canvas(root)
    canvas.pack(side=tk.LEFT,expand=1)
     
    scrollbar = tk.Scrollbar(root, command=canvas.yview)
    scrollbar.pack(side=tk.LEFT, fill='y')
     
    canvas.configure(yscrollcommand = scrollbar.set)
     
     
    canvas.bind('<Configure>', on_configure)
     
    frame = tk.Frame(canvas,borderwidth=5)
    canvas.create_window((0,0), window=frame, anchor='nw')
    button = tk.Button(frame,text="Ok",command=lambda:ApplytoLabel()).grid(column=2)
     
     
     
     
     
    height = 2
     
    List_Entry = []
     
    for i in range(height):
            b = tk.Entry(frame, text="")
            b.grid(row=i)
            List_Entry.append(b)
     
     
    Values = []
    def ApplytoLabel():
        for i in range(height):
            Values_obtained = List_Entry[i].get()
            L.append(Values_obtained)
        return Values
     
    print(ApplytoLabel())
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    root.mainloop()

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

    Citation Envoyé par abcbbm Voir le message
    comment dois je faire afin de pouvoir utiliser la liste en dehors de la function ?
    Ben... il faut ouvrir un tuto. sur tkinter pour vous habituer à ce type de programmation.

    Déjà votre fonction n'est pas tout à fait une fonction car appelée par le gestionnaire d'évènements tout ce qu'elle retourne (via "return") est irrécupérable.

    Si par exemple vous voulez faire la somme de nombres contenus dans les Entry, il faut le faire dans le callback et afficher le résultat dans un Label. Et si vous voulez faire çà après la fin de la fonction, il faudra que la liste soit globale et un autre évènement/Button qui appelle une autre fonction/callback pour mouliner la liste et...

    Ouvrez le tuto. que je vous ai indiqué, vous y trouverez des explications de tout çà, des exemples basiques qui vous montrent comment çà marche et des exercices à faire pour vous entraîner.

    - W

Discussions similaires

  1. [AJAX] Récupérer valeurs tableau codeigniter et ajax
    Par frederic1140 dans le forum jQuery
    Réponses: 15
    Dernier message: 02/09/2019, 15h20
  2. Récupérer valeur tableau crée par vba
    Par Pago dans le forum VBA Access
    Réponses: 4
    Dernier message: 03/05/2010, 23h10
  3. Récupérer valeur d’un tableau
    Par sosophie dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 11/04/2007, 12h35
  4. Réponses: 14
    Dernier message: 18/08/2006, 19h54
  5. [Tableaux] récupérer un tableau de valeur
    Par PAYASS59 dans le forum Langage
    Réponses: 7
    Dernier message: 16/02/2006, 13h22

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