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 :

problème sur une comboboxentry


Sujet :

GTK+ avec Python

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 20
    Par défaut problème sur une comboboxentry
    Bonjour à tous !!

    j'ai un petit problème sur une comboboxentry, je n'arrive pas a sélectionner la valeur que je passe a ma comboboxentry. la valeur est bien affiché (toto) mais si je la sélectionne elle ne s'affiche pas dans la partie active et quand je clique sur un bouton de mon interface crée sous glade qui appel la fonction (recup_combobox) pour recupérer la valeur et l'afficher dans la console j'obtiens le message d'erreur suivant : GtkWarning: gtk_entry_set_text: assertion `text != NULL' failed

    Si par contre je tape une valeur manuellement je récupère bien la valeur.

    ci-dessous le code utilise :

    def recup_combobox(self, widget):

    combobox2 = self.interface.get_object("comboboxentry2").get_active_text()
    print combobox2

    def __init__(self):
    #etc...etc... jusqua

    self.combobox2 = self.interface.get_object("comboboxentry2")
    self.store = gtk.ListStore(gobject.TYPE_STRING)
    self.store.append(["toto"])
    self.combobox2.set_model(self.store)
    self.cell = gtk.CellRendererText()
    self.combobox2.pack_start(self.cell, True)
    self.combobox2.add_attribute(self.cell, 'text', 0)
    self.combobox2.set_active(0)

  2. #2
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 327
    Par défaut
    Bonjour,

    Pour une fois je diais qu'il n'y a pas d'erreur, je n'ai pas testé mais en voyant cette erreur cela ma rappellé un bug sous glade pour créer les gtk.combobox...

    C'est pourquoi, je vous invite à créer un combobox manuellement, pour cela, vous créez sous glade une box vide, ou une eventbox et dans le init vous crez la combobox et on l'ajoute dans votre event box... Allé voila comment faire (j'utilises gtk et non gtkbuilder, mais cela reste le meme principe) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # dans le init 
    self.boitderoulsaisie = gtk.combo_box_entry_new_text() # On crée
    self.boitderoulsaisie.append_text("toto") # On ajoute toto
    self.boitderoulsaisie.set_active(0) # Par défaut, toto est affiché
    self.boitderoulsaisie.show() # On affiche le widget
    self.interface.get_widget("eventbox").add(self.boitderoulsaisie) # On ajoute la box à l'interaface
     
    # dans ta fonction pour récupèrer
    tempo= self.boitderoulsaisie.get_children()
    tempo= tempo[0].get_text()
    print tempo
    J'espère que cela vous conviendra

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 20
    Par défaut Merci
    Bon tu as résolu mon problème comme d'habitude...
    je cherche depuis 2 jours et tu me donne la solution du premier coup...
    J'ai donc remplacé ma comboboxentry par une combobox standard et je l'ai rattaché à l'aide de ton code et cela fonctionne parfaitement... Il récupère bien la valeur saisie ou sélectionné...


    Autre question pour améliorer cette combobox :
    y a t'il un moyen pour conserver la saisie de l'utilisateur pour que si il ferme l'application et qu'il la relance il retrouve la valeur saisie...
    Peut-être à l'aide d'un fichier texte ou y a t'il un moyen pour mémoriser sa saisie. une sorte de cookie.

    Merci en tout cas pour ton aide car elle est d'une grande utilité...

  4. #4
    Membre éclairé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2008
    Messages
    327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2008
    Messages : 327
    Par défaut
    ^^ Il n'y a pas de soucis, c'est le but des forum de s'entraider.

    Pour sauvegarder la saisie de l'utilisateur, il faut en effet passer par un fichier de sauvegarde, un fichier txt est ^parfait, je ne pense pas en effet que tu puisses passé par un cookie qui lui est propre à chaque navigateur (cela aurais été pratique en effet).

    Ps : Je te conseille d'enregistrer le fichier txt dans les dossiers de l'utilsateur car si jamais tu l'enregsitres dans la racine du logiciel :
    * /usr/share/... pour linux
    * C:\programme files\logiciel\... pour windows

    Car si un autre utilisateur utilise le logiciel il aura la saisie des autres (je sais pas si je me fais bien comprendre ^^)
    Alors que si tu enregistres le fichier txt dans les dossiers personnel de chaques personnes, la saisie sera propre à chaque personne.

    Pour récupèrer le chemin du dossier perso, faut aller voir dans la bibiotheque "os"...

    Bon courage et a bientot...

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

Discussions similaires

  1. [Optimisation] Problème sur une requête UNION.
    Par françois62 dans le forum Requêtes
    Réponses: 5
    Dernier message: 28/06/2005, 16h08
  2. Débutant SQL, problème sur une jointure censée exclure ??
    Par derfatypik dans le forum Langage SQL
    Réponses: 8
    Dernier message: 22/06/2005, 15h55
  3. Problème sur une expression régulière
    Par Verbal-Quint dans le forum Langage
    Réponses: 6
    Dernier message: 12/11/2004, 10h54
  4. Problème sur une requête INSERT
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/06/2003, 08h45
  5. problème sur une requête!!!!!
    Par Mcgrady_01 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/06/2003, 01h17

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