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

GTK+ avec Python Discussion :

creation d'un combobox avec un liststore


Sujet :

GTK+ avec Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut creation d'un combobox avec un liststore
    Bonjour,

    J'arrive à créer un combobox de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    self.simulation_combobox = gtk.combo_box_new_text()
    for s in self.simulations:
       self.simulation_combobox.append_text(s)
    Cela marche parfaitement.

    J'arrive à créer un comboboxentry :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    liststore = gtk.ListStore(str)
    for s in self.simulations:
       liststore.append([s])
    self.simulation_combobox = gtk.ComboBoxEntry(liststore,0)
    Cela marche aussi.
    Mais par contre, un combobox avec un liststore ne m'affiche aucun choix:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    liststore = gtk.ListStore(str)
    for s in self.simulations:
       liststore.append([s])
    self.simulation_combobox = gtk.ComboBox(liststore)
    Ou y a t'il un problème ?

    En fait, je ne saurais l'expliquer, mais le fait de rajouter un cellrendertext résous le pb:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    liststore = gtk.ListStore(str)
    for s in self.simulations:
       liststore.append([s])
    self.simulation_combobox = gtk.ComboBox(liststore)
    cell = gtk.CellRendererText()
    self.simulation_combobox.pack_start(cell, True)
    self.simulation_combobox.add_attribute(cell, 'text', 0)
    Alors, pourquoi un comportement different avec le ComboBoxEntry ?

    Merci

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Pour le comboboxentry, tu files un n° de colonne au constructeur de l'objet, donc il peut créer un cellrenderer tout seul.
    Pour le combobox, tu ne donnes pas de n° de colonne, c'est pour ça que tu dois le faire toi même. J'imagine que ça donne plus de flexibilité. Par exemple tu dois pouvoir faire des combo qui contiennent à la fois du texte et des icônes avec l'API du combobox.

  3. #3
    Membre éprouvé Avatar de awalter1
    Inscrit en
    Août 2004
    Messages
    994
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 994
    Par défaut
    Merci de la précision

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

Discussions similaires

  1. PB de chargement de combobox avec une requete
    Par bubu1905 dans le forum Bases de données
    Réponses: 9
    Dernier message: 23/03/2005, 16h14
  2. [VB.NET] Remplir une ComboBox avec une requete sql
    Par graphicsxp dans le forum Windows Forms
    Réponses: 6
    Dernier message: 22/03/2005, 15h29
  3. Empecher la création de fichier backup avec vi
    Par Noki dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 12/11/2004, 14h44
  4. [Creation composant visuel] Problème avec le focus
    Par Ingham dans le forum Composants VCL
    Réponses: 9
    Dernier message: 23/09/2004, 16h59
  5. Réponses: 2
    Dernier message: 26/07/2004, 13h34

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