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 :

Combo Box dynamique


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    ms7
    ms7 est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Par défaut Combo Box dynamique
    Salut,

    je suis en train de realiser une petit appli en python qui est connecte a une base MySQL et j´aimerais lier une comboBox a un attribut d´une table...Je sais pas si c claire???#

    exemple

    Si j´ai une table 'person' avec les champs id, nom, premon
    1, Dupond, Pierre
    2, Dupont, Andre
    ....

    j´aimerai creer une comboBox qui m´affiche le nom de maniere a le selectionner....
    dans ce cas le comboBox devrais afficher 'Dupond' et 'Dupont' dans un liste-

    Merci

  2. #2
    ms7
    ms7 est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2005
    Messages : 114
    Par défaut
    Salut, voila une possibilite que j´ai trouve pour lier un combo box a une base de donnees MySQL

    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
     
    #import libraries...
    import MySQLdb
    import Tix
    from Tkinter import * 
     
    #declare variables
    global db, cur, result_pers, comboVar
    #database connection
    db = MySQLdb.connect(host = "localhost", user = "root", passwd = "pwd", db="dbname")
    #cursor
    cur = db.cursor()
     
    #declare root and frame
    root = Tix.Tk() 
    frame1 = Frame(root)
    frame1.pack()
     
    #Label
    Label(frame1, text="Nom").grid(row=0, column=0, sticky=W)
    comboVar = Tix.StringVar() 
    #create comboBox with Tix
    combo = Tix.ComboBox(root, editable=1, dropdown=1, variable=comboVar)
    combo.grid(row=0, column=1, sticky=W)
     
    #set item only to read
    combo.entry.config(state='readonly')
     
    #sql query to select...
    cur.execute("select nom from Person order by nom asc")
    result_pers = cur.fetchall()
    #insert record in list if it exists...
    for record in result_pers: pers.insert(1, record[0]) 
    pers.pack()
    Bien sur, n´oubliez pas de creer une table Person dans MySQL pour pouvoir tester ce script....;-)


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

Discussions similaires

  1. Ajout dynamique de Combo Box
    Par vanhoa dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/12/2014, 12h22
  2. deux combo box dynamiques
    Par adebo dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 19/02/2012, 11h42
  3. Afficher 3 combos box dynamiques
    Par morpheus0010 dans le forum jQuery
    Réponses: 4
    Dernier message: 18/04/2011, 22h36
  4. [Tableaux] combo box dynamique
    Par macmac dans le forum Langage
    Réponses: 27
    Dernier message: 07/12/2005, 18h10
  5. Combo box et liste de valeurs contenues dans ma table
    Par TieumB dans le forum C++Builder
    Réponses: 14
    Dernier message: 05/04/2004, 18h47

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