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 :

Gestion d'onglets et récupération de valeur sous tkinter


Sujet :

Tkinter Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2021
    Messages : 5
    Par défaut Gestion d'onglets et récupération de valeur sous tkinter
    Bonjour,

    je veux créer une interface graphique avec tkinter et j'ai plusieurs problèmes :

    1- Je ne comprends pas pourquoi le nom de mes onglets ne s'affiche pas comme je le veux, seulement le premier s'affiche convenablement.
    2- Je souhaite récupérer les valeurs de mes entrées, j'ai donc créer une fonction qui permet de stocker les valeurs entrées dans une liste (pour pouvoir traiter la liste ensuite), cependant je n'arrive pas à récupérer toutes les entrées des différents onglets, j'arrive à récupérer que les entrées d'un onglet.

    J’espère avoir été clair, ne pas hésitez pour plus d'information sur mon problème si je ne suis pas assez clair.
    Je veux bien avoir des conseils ou autres pour améliorer mon code, j'ai seulement un niveau débutant.

    Merci d'avance.

    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
    import tkinter as tk
    from tkinter import ttk
     
    valeur=[]
    L=['a','b','c','d','e','f','g','h']
    L1= ['a1','b1','c1','d1','e1','f1','g1','h1']
     
    def get():
        for i in range(len(L)):
            valeur.append(L[i].get())
        print(valeur)
     
    master = tk.Tk()
     
    style = ttk.Style(master)
    style.configure("lefttab.TNotebook", tabposition="wn")	
    notebook = ttk.Notebook(master, style="lefttab.TNotebook")
     
    for j in range(len(L)) :
     
        L1[j] = tk.Frame(notebook, width=400, height=400)
     
        notebook.add(L1[j], text=L[j])
        notebook.grid()
     
     
        for i in range(len(L)):
            L[i] = tk.Entry(L1[j])
            L[i].insert(0,L[i])
            L[i].grid(row=i, column=1)
     
    tk.Button(master, text='Quitter', command=master.quit).grid(row=len(L)+1, column=0, sticky=tk.W, pady=4)
    tk.Button(master, text='Valider', command=get).grid(row=len(L)+1, column=1, sticky=tk.W, pady=4)
     
    tk.mainloop()

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

    Citation Envoyé par Kun36 Voir le message
    1- Je ne comprends pas pourquoi le nom de mes onglets ne s'affiche pas comme je le veux, seulement le premier s'affiche convenablement
    Si vous assignez une valeur à la variable A et qu'un peu plus loin vous lui en assignez une autre, la variable sera associée au dernier objet qu'on lui a assigné.
    Ce raisonnement s'applique aussi aux listes: vous initialisez les listes L1 et L pour contenir des chaines de caractères, puis vous écrabouillez le tout pour y mettre autre chose.

    Citation Envoyé par Kun36 Voir le message
    2- Je souhaite récupérer les valeurs de mes entrées, j'ai donc créer une fonction qui permet de stocker les valeurs entrées dans une liste (pour pouvoir traiter la liste ensuite), cependant je n'arrive pas à récupérer toutes les entrées des différents onglets, j'arrive à récupérer que les entrées d'un onglet.
    Même problème, même punition.

    Citation Envoyé par Kun36 Voir le message
    Je veux bien avoir des conseils ou autres pour améliorer mon code, j'ai seulement un niveau débutant.
    De fait... mais il faut être un peu plus que débutant-débutant pour s'attaquer à la montagne tkinter.
    Et si vous ne maîtrisez pas les bases parce que vous avez un peu trop survolé rapidement certains concepts, vous allez galérer.

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

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2021
    Messages : 5
    Par défaut
    Merci pour votre réponse.

    Premièrement, dans les deux cas j'ai besoin de créer des listes avec des chaines de caractère pour pouvoir utiliser ses caractères comme variables dans la suite.

    Ensuite, Je n'avais pas ce problème avant d'inclure les onglets le code fonctionner bien.

    Je ne vois pas comment me passer de ses listes, je veux bien une solution si vous en avez une.

    Enfin, j'ai les bases de python et de tkinter ce n'est pas la première fois que je code avec, cependant je n'avais jamais créé des onglets et ça me pose problème.

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Citation Envoyé par Kun36 Voir le message
    Enfin, j'ai les bases de python et de tkinter ce n'est pas la première fois que je code avec, cependant je n'avais jamais créé des onglets et ça me pose problème.
    Si vous ne comprenez pas qu'écrire L1[j] = tk.Frame(...) ou L[i] = tk.Entry(...) écrase les contenus de L1 et de L et que pour ne pas "écraser", il faut (par exemple) créer de nouvelles listes... vous ne voyez pas que votre problème n'a rien à voir avec la création d'onglets mais avec une certaine ignorance de ce que sont des listes.

    Après si vous voulez pas ouvrir votre tuto. préféré pour réviser tout çà, comment espérez-vous apprendre à programmer?

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

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

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2021
    Messages : 5
    Par défaut
    Je comprend le problème à chaque itération dans ma deuxième boucle j'écrase la liste.

    Avez-vous une idée de comment je pourrais faire pour contourner ce problème ?

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Citation Envoyé par Kun36 Voir le message
    Avez-vous une idée de comment je pourrais faire pour contourner ce problème ?
    Je vous ai déjà suggéré de créer d'autres listes.
    note: "contourner un problème" n'a rien à voir avec comprendre comment coder pour que çà marche.

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

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Avril 2021
    Messages : 5
    Par défaut
    J'ai réussi il fallait tout simplement créer de nouvelles listes avec le même contenu.

  8. #8
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    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 738
    Par défaut
    Citation Envoyé par Kun36 Voir le message
    J'ai réussi il fallait tout simplement créer de nouvelles listes avec le même contenu.
    C'est ce que je vous dis depuis hier...

    Tant que vous ne comprendrez pas que pour écrire une application il faut avoir appris à penser avec Python, avec tkinter,.... et que c'est suffisamment compliqué pour y avoir passé du temps.

    Vous allez buter sur des problèmes insurmontables et comme les solutions que vous allez trouver sont juste des rustines de dépannage...

    Au bout d'un moment soit vous arrivez à pondre un truc que personne ne pourra lire/modifier (çà marche mais c'est tellement mal foutu qu'on n'ose pas y toucher sauf à tout ré-écrire) soit vous allez vous décourager de patauger sur place.

    C'est comme çà et à vous de voir.

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

  9. #9
    Invité de passage
    Homme Profil pro
    Développeur IA
    Inscrit en
    Juillet 2023
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur IA
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2023
    Messages : 1
    Par défaut
    Cette conversation est lunaire. Etait-ce un troll ?

Discussions similaires

  1. récupération de valeurs dans un sous-programme
    Par Jasmine80 dans le forum Interfaces Graphiques
    Réponses: 5
    Dernier message: 12/08/2009, 09h51
  2. [AC-2007] Récupération de valeurs de sous formulaires
    Par poplite dans le forum IHM
    Réponses: 6
    Dernier message: 13/05/2009, 10h01
  3. Réponses: 10
    Dernier message: 15/05/2007, 14h24
  4. Réponses: 12
    Dernier message: 04/12/2006, 15h39
  5. récupération de valeur dans un sous-formulaire
    Par Sebastien_INR59 dans le forum Access
    Réponses: 2
    Dernier message: 05/06/2006, 11h48

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