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 :

Comment programmer des combobox imbriquées [Python 3.X]


Sujet :

Python

  1. #1
    Membre régulier
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Octobre 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Octobre 2017
    Messages : 8
    Par défaut Comment programmer des combobox imbriquées
    Bonjour,

    Je suis débutant en python et je voudrai savoir si c'est possible d'imbriqué plusieurs combobox ?

    La sélection d'un élément de la 1ère combobox modifie la liste des éléments du 2ème combobox.

    Si je choisis aprés coup un élement de cette 2ème combobox, il modifiera la liste de la troisième combobox.

    C'est le principe d'imbrication des combobox.

    Est-ce que quelqu'un a déjà programmé ça en python?

    Merci d'avance de votre aide.

    Fabrice

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

    C'est possible mais si vous débutez, il y a un (petit) apprentissage à faire avant de pouvoir le faire vous même.

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

  3. #3
    Membre régulier
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Octobre 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Octobre 2017
    Messages : 8
    Par défaut
    Re,

    Merci, connaissez-vous un modèle de code qui pourrait m'aiguiller ?

    J'ai une petite notion de Python ce qui me permet de suivre et comprendre la logique d'un programme.

    Merci d'avance.

  4. #4
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    bonjour

    ta question n'est pas directement liée à python mais à une bibliothèque graphique (plus ou moins). Donc ici, ce n'est qu'utiliser une bibliothèque. Généralement, elles sont événementielles et ta demande n'a rien de particulier avec ce genre de bibliothèque: un contrôle va réagir à un événement, il va changer le contenu d'un autre en réponse...

    - Que le contenu de "l'autre" soit une liste ou un simple texte ne change pratiquement rien au code
    - Que "l'autre" soit un combo ou une simple zone texte ne change pratiquement rien au code

  5. #5
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    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 741
    Par défaut
    Citation Envoyé par vbafoxter Voir le message
    Merci, connaissez-vous un modèle de code qui pourrait m'aiguiller ?

    J'ai une petite notion de Python ce qui me permet de suivre et comprendre la logique d'un programme.
    Ben trouvez des exemples de programmes qui utilisent des combobox et essayez d'en faire quelque chose.

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

  6. #6
    Membre régulier
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Octobre 2017
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Responsable sécurité

    Informations forums :
    Inscription : Octobre 2017
    Messages : 8
    Par défaut
    Bonjour à tous

    C'est ce que je vais faire.

  7. #7
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    721
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2006
    Messages : 721
    Par défaut
    Il y a plusieurs façons de le faire.

    On peut soit créer une interface graphique sur le client, avec par exemple TK ou QT.
    Ou alors faire du développement web classique avec Python en backend, éventuellement sous un framework comme Flask ou Django.
    Et alors, côté client c'est de l'HTML dynamique avec Ajax/JS.

    Il faudrait avoir une idée du besoin pour savoir quelle technologie se tourner. Mais avec tous ces mots-clé vous avez de quoi chercher.

  8. #8
    Membre averti
    Homme Profil pro
    Responsable sécurité
    Inscrit en
    Septembre 2019
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Responsable sécurité
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2019
    Messages : 14
    Par défaut
    Bonjour,

    Après plusieurs essais j'ai trouvé.

    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
    
    import tkinter as tk
    from tkinter import ttk
    from tkinter import *
    
    def callbackFunc1(event):
        print("Elément sélectionné dans combo1 : ", combo1.get())
        if  combo1.get() == "ST":
            combo2["values"] = liste_B
        elif combo1.get() == "Admin":
            combo2["values"] = liste_C
        elif combo1.get() == "Atsem":
            combo2["values"] = liste_D
    
    
    
    def callbackFunc2(event):
        print("Elément sélectionné dans combo1 : ", combo2.get())
        if combo2.get() == "Atelier":
            combo3["values"]= listeB1
        elif combo2.get() == "Batiment":
            combo3["values"] = listeB2
        elif combo2.get() == "Voirie":
            combo3["values"] = listeB3
        elif combo2.get() == "Espaces verts":
            combo3["values"] = listeB4
    
    
    
    fenetre = Tk()
    fenetre.geometry('450x200')
    fenetre.title("Test des combobox")
    
    # Préparation des étiquettes
    label1 = Label(fenetre, text="Choix 1")
    label2 = Label(fenetre, text="Choix 2")
    label3 = Label(fenetre, text="Choix 3")
    
    label1.grid(column=0,row=0)
    label2.grid(column=1,row=0)
    label3.grid(column=2,row=0)
    
    # Listes
    liste_A = ["ST","Admin","Atsem","QUIT"]
    
    liste_B = ["Atelier", "Batiment", "Voirie","Espaces verts"]
    liste_C = ["Secrétaire","Comptable","DG","DGS","Accueil"]
    liste_D = ["Accueil","Animation","Garderie","Cantine","Accompagnement"]
    
    listeB1=["Marteau","Clé à molette","Tournevis","Ciseaux à bois"]
    listeB2=["Bétonnière","Brouette","Perforateur"]
    listeB3=["Camion","Lapidère","Marteau piqueur","Panneaux de signalisation"]
    listeB4=["Tondeuse","Taille haies","Tronçonneuse","Débrousailleuse"]
    
    
    
    liste_nul =[]
    
    # Initialisation Combobox
    
    combo1 = ttk.Combobox(fenetre, values= liste_A)
    combo2 = ttk.Combobox(fenetre, values=liste_nul)
    combo3 = ttk.Combobox(fenetre, values=liste_nul)
    
    # affichage combobox
    combo1.grid(column=0, row=1)
    combo2.grid(column=1, row=1)
    combo3.grid(column=2, row=1)
    
    # Action
    combo1.bind("<<ComboboxSelected>>", callbackFunc1)
    combo2.bind("<<ComboboxSelected>>", callbackFunc2)
    
    # affichage de la fenêtre
    fenetre.mainloop()
    Ce n'est pas optimisé, mais ça a le mérite de fonctionner.

    Si vous avez des suggestions d'optimisation je suis preneur.

    merci encore

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

Discussions similaires

  1. comment programmer des nanorobots
    Par mapmip dans le forum Hardware
    Réponses: 3
    Dernier message: 12/11/2015, 15h43
  2. Réponses: 5
    Dernier message: 28/02/2011, 16h57
  3. Réponses: 1
    Dernier message: 04/06/2009, 14h30
  4. Comment faire des matrices imbriquées
    Par TanEk dans le forum Débuter
    Réponses: 2
    Dernier message: 19/12/2008, 14h49
  5. Comment faire une combobox imbriquée
    Par dogon dans le forum WebDev
    Réponses: 4
    Dernier message: 10/12/2007, 22h17

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