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 :

conditions dans une Combo box


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2023
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2023
    Messages : 24
    Par défaut conditions dans une Combo box
    Bonjour à tous, j'ai rencontrer un problème en créant mon programme :

    J'ai créer une Combobox avec plusieurs choix dedans. Je souhaiterais faire en sorte que dès que l'utilisateur choisit un des choix disponibles, la page du tkinter où se situe cette Combo box affiche tu texte. Malheureusement je n'arrive pas à faire la condition et à l'afficher

    voici le 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
    #module d'importation du tkinter
    from tkinter import *
    from tkinter import ttk
     
    #fenêtre d'acceuil
    home = Tk()
    home.title("Learn in python")
    home.geometry("360x400")
    home.minsize(360,400)
    home.maxsize(360,400)
     
     
    #création de la page débutant
    def debutant_level():
        debutant_level = Tk() 
        debutant_level.title("Niveau débutant")
        debutant_level.geometry("650x400")
        debutant_level.minsize(650,400)
        debutant_level.maxsize(650,400)
     
        def choix_lesson_debutant(event_debutant):
     
     
     
    #LABEL(debutant_level)
        titre_debutant = Label(debutant_level, text="Apprend à utiliser python avec ce tuto complet !", font=("Helvetica", 20, "bold underline"), fg="red")
        label_choix = Label(debutant_level, text="Veuiller séléctionner un élément à apprendre.")
        liste_debutant = ["1. Calculer avec le terminal", "2. Les variables", "3. Calculer avec des variables", "4. Fonction print()"]
        liste_combo_debutant = ttk.Combobox(debutant_level, values = liste_debutant)
        liste_combo_debutant.current(0)   
        liste_combo_debutant.bind(">>ComboSelected<<",choix_lesson_debutant) 
     
     
     
    #GRID(debutant_level)
        titre_debutant.grid(row=0, column=0, columnspan=1, padx= 5, pady=(0, ))
        label_choix.grid()
        liste_combo_debutant.grid()
     
     
     
    #création de la page intermédiaire
    def intermediaire_level():
        intermediaire_level = Tk()
        intermediaire_level.title("Niveau intermédiaire")
        intermediaire_level.geometry("410x400")
        intermediaire_level.minsize(410,400)
        intermediaire_level.maxsize(410,400)
     
     
     
     
    #création de la page expert
    def expert_level():
        expert_level = Tk()
        expert_level.title("Niveau expert")
        expert_level.title("Niveau débutant")
        expert_level.geometry("410x400")
        expert_level.minsize(410,400)
        expert_level.maxsize(410,400)
     
     
     
     
     
    #LABEL,BOUTTON ...  HOME
    titre = Label(home, text="Qu'apprendre sur python ?", font=("Helvetica", 20, "bold underline"), fg="red")
    button_debutant = Button(home, text=("Débutant"), command=debutant_level)
    button_intermediaire = Button(home, text=("Intermédiaire"), command=intermediaire_level)
    button_expert = Button(home, text=("Expert"), command=expert_level)
     
     
    #GRID home(dans l'ordre)
    titre.grid(row=0, column=0, columnspan=2, pady=(0, 25), padx=0, sticky="we")
    button_debutant.grid(row=1, column=0, columnspan=2, padx=55)
    button_intermediaire.grid(row=2, column=0, columnspan=2, pady=10)
    button_expert.grid(row=3, column=0, columnspan=2)
     
     
    #MAINLOOP(home)
    home.mainloop()
    Est ce que quelqu'un serais comment m'aider ?
    Merci d'avance

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Citation Envoyé par TTCFRANCE Voir le message
    voici le code
    De ce que je vois, tu ne te décides toujours pas à poster tes codes conformément aux règles.
    Mais sais pas moi. Même sans parler de règles, franchement est-ce que tu trouves ça lisible ? Surtout en Python où les tabulations sont un point de repère essentiel !!! Tu as quoi dans la tête ???

    Citation Envoyé par TTCFRANCE Voir le message
    Est ce que quelqu'un serais comment m'aider ?
    Conjugaison du verbe "savoir" au conditionnel présent... bah on n'est plus à ça près...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2023
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2023
    Messages : 24
    Par défaut
    je suis désolé mais je ne comprend pas ce qui n'est pas dans les règles dans le code que je vous aient envoyé

    Les tabulation sont bien dans mon programme car sinon celui-ci serait inutilisable . Je suis désolé pour les erreur d'orthographe ce n'était pas volontaire
    Et pour ce qui est de la lisibilité du programme je m'y retrouve j'ai juste demander ci quelqu'un pouvait m'apporter de l'aide; je n'ai pas demandé à ce que l'on me pourrisse jusqu'à la moelle!

    merci beaucoup pour la réponse, mon programme fonctionne maintenant comme je le souhaitait

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par TTCFRANCE Voir le message
    je suis désolé mais je ne comprend pas ce qui n'est pas dans les règles dans le code que je vous aient envoyé
    Il est illisible (enfin "était" car un modérateur a rectifié). Tu n'as pas relu ton post après l'avoir écrit ? Accessoirement c'est aussi écrit dans ma signature mais visiblement tu as jugé cette info peu pertinente.

    Citation Envoyé par TTCFRANCE Voir le message
    Et pour ce qui est de la lisibilité du programme je m'y retrouve
    Le but (enfin c'est juste mon avis) c'est que nous on s'y retrouve.

    Citation Envoyé par TTCFRANCE Voir le message
    j'ai juste demander ci quelqu'un pouvait m'apporter de l'aide; je n'ai pas demandé à ce que l'on me pourrisse jusqu'à la moelle!
    A ton premier topic je t'ai informé gentiment. Au second topic tu recommences la même chose alors que doit-on en penser et surtout comment doit-on réagir ? C'est juste une question réthorique car au 3° on ne te répondra plus.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2023
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2023
    Messages : 24
    Par défaut
    Que dois-je faire pour être dans les règles et pouvoir avoir des réponses

    Si je demande de l'aide, sans regardé des tutos, c'est car j'apprend bien plus vite et mieux en interaction direct avec une personne

    De ce qui est de ta signature, je ne l'avais pas vu. L'excuse de dire que je viens de rentrer dans ce forum n'a aucune utilité concrète. Il faut reconnaître ces fautes. C'est pourquoi je souhaiterais faire de prochains post dans les règles pour pouvoir progresser dans la programmation et principalement dans le langage python.

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 744
    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 744
    Par défaut
    Citation Envoyé par TTCFRANCE Voir le message
    Que dois-je faire pour être dans les règles et pouvoir avoir des réponses

    Si je demande de l'aide, sans regardé des tutos, c'est car j'apprend bien plus vite et mieux en interaction direct avec une personne
    Un forum n'est pas un "chat": vous n'êtes pas en interaction directe!
    De fait lorsque vous posez une question vous avez eu le temps de relire votre prose (et soigner la présentation, l'orthographe) avant de la soumettre.

    note: et comme la programmation est aussi un exercice de relecture (et d'organisation/présentation) du code qu'on a écrit, la démarche est semblable à la rédaction d'une demande d'aide.

    Si en plus, le contenu ne montre pas que vous avez un peu bossé pour y répondre par vous même, ben, on va (souvent) vous suggérer d'ouvrir un tuto. ou de chercher sur Internet.

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

  7. #7
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par TTCFRANCE Voir le message
    Que dois-je faire pour être dans les règles et pouvoir avoir des réponses
    Mettre ton code entre balises. Et (en dehors d'être écrit dans ma signature ainsi que dans celle de certains autres), pour la 3° fois c'est écrit ici. Parce que sans ça, en lisant ceci...
    if expression:
    actionA
    actionB
    actionC
    ...on ne peut pas faire la différence entre ceci...
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if expression:
    	actionA
    	actionB
    actionC
    et cela.
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if expression:
    	actionA
    actionB
    actionC
    Tu le sais pourtant (en tout cas tu devrais le savoir) que les indentations ont un rôle clef !!!

    Citation Envoyé par TTCFRANCE Voir le message
    Si je demande de l'aide, sans regardé des tutos, c'est car j'apprend bien plus vite et mieux en interaction direct avec une personne
    Ce qui signifie qu'au lieu de faire l'effort de tout lire, quitte à chercher par toi-même le détail qui correspond à ton cas (et en même temps apprendre d'autres infos qui pourront être utiles plus tard), tu prèfères que ce soit l'autre personne qui fasse l'effort de t'expliquer ce fameux détail. Et lorsque tu auras un autre souci à propos d'un autre cas que tu aurais pu apprendre par ricochet de ta première recherche, tu reviendras encore te le faire expliquer. Bref tu délègues aux autres le soin de te redire ce qui a déjà été écrit mais que tu as la flemme de chercher.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  8. #8
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Bonjour,

    Si j'ai bien compris tu peux utiliser trace_add de l'objet StringVar
    Voici un exemple,

    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
    import tkinter as tk
    from tkinter import ttk
     
    def on_combobox_change(name, index, mode):
        label_text.set(f"Vous avez sélectionné : {combobox_value.get()}")
     
    root = tk.Tk()
     
    combobox_value = tk.StringVar()
     
    combobox = ttk.Combobox(root, textvariable=combobox_value)
    combobox['values'] = ('Option 1', 'Option 2', 'Option 3')
    combobox.grid(column=0, row=0)
     
    combobox_value.trace_add('write', on_combobox_change)
     
    label_text = tk.StringVar()
    label = tk.Label(root, textvariable=label_text)
    label.grid(column=0, row=1)
     
     
    root.mainloop()

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

    Si l'intention est:
    Citation Envoyé par TTCFRANCE Voir le message
    Je souhaiterais faire en sorte que dès que l'utilisateur choisit un des choix disponibles, la page du tkinter où se situe cette Combo box affiche tu texte. Malheureusement je n'arrive pas à faire la condition et à l'afficher
    le code essaie de la traduire via ligne 31 l'instruction:liste_combo_debutant.bind(">>ComboSelected<<",choix_lesson_debutant).

    mais la déclaration de la fonction choix_lesson_debutant n'est pas indentée correctement pour savoir ce qu'elle doit faire *ET* l'event s'écrit "<<ComboSelected>>" et non ">>ComboSelected<<".

    Citation Envoyé par TTCFRANCE Voir le message
    Est ce que quelqu'un serais comment m'aider ?
    Si vous vous lancez à réaliser un petit projet, c'est pour montrer que vous avez appris à maîtriser nombre de notions *ET* compris que programmer est une activité qui demande de la rigueur: si on se trompe ça ne marche pas sans dire pourquoi et si on ne sait pas se relire pour trouver la boulette qu'on a fait...
    note: c'est pareil pour n'importe quel sport/technique: on s'entraine avant d'oser montrer qu'on maîtrise.

    Et l'objet d'un forum de discussion n'est pas de vous permettre de coder sans passer par la case apprentissage mais de vous éclairer sur certaines notions du langage pas toujours faciles à comprendre (ce qui suppose que vous avez un peu déjà potassé la chose de votre côté). Si c'est juste pour constater que vous recopiez du code sans trop comprendre ni être à même de le relire...

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

Discussions similaires

  1. Ajouter des sous titres dans une combo box
    Par Djaiffe dans le forum VB.NET
    Réponses: 5
    Dernier message: 24/05/2018, 16h55
  2. récupérer la valeur saisie dans une combo box
    Par whitebird001 dans le forum MFC
    Réponses: 2
    Dernier message: 18/09/2008, 00h42
  3. Ajouter une image dans une Combo Box
    Par Drost dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/10/2007, 15h13
  4. affichage dans une combo box
    Par lupo_54_25 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 22/05/2006, 13h50
  5. Modif d'un ini dans une combo box
    Par Julien.alkaza dans le forum C++Builder
    Réponses: 5
    Dernier message: 03/04/2005, 23h39

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