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 :

signal "edited" sur un CellRendererCombo


Sujet :

GTK+ avec Python

  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 signal "edited" sur un CellRendererCombo
    Bonjour,

    j'ai défini un treeview avec une colonne de type CellRendererCombo.
    Sur cet objet, j'ai associé le signal "edited" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    cell = gtk.CellRendererCombo()
    cell.connect('edited', self.ListViewTreeViewEditingCellEnd)
    dans la callback , je récupère l'event :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    def ListViewTreeViewEditingCellEnd(self, cell, row, newText):
       event = gtk.get_current_event()
    Je me suis aperçu qu'en changeant la propriété "has_entry" de cell à False (pour avoir un combo sans champ de saisie), la callback est déclenchée mais je n'ai pas d'event : event=None).

    Je ne comprends pas ce comportement.

    Merci de m'aider

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Bonjour,

    D'après le code de GTK+, il ne se passe rien lors de la modification de cette propriété.

    Tu aurais un code plus complet histoire que je puisse tester ?

  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
    Malheureusement, je ne peux pas facilement extraire le bout de code pertinent.
    Ce que je peux dire, c'est que sans la directive :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cell.set_property('has_entry', False)
    le défaut est True, et ma combobox propose un champ de saisie + une liste déroulante
    Avec la directive, ma combobox ne propose qu'une liste déroulante.

    La directive a donc bien un effet.
    Mais ce n'est peut être pas ce que vous vouliez dire ?

    Merci

  4. #4
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par awalter1 Voir le message
    La directive a donc bien un effet.
    Je n'ai pas dit le contraire

    Mais l'avantage des propriétés est de pouvoir appeler des fonctions lors de l'accès ou la modification de celle ci. Or ici, les accesseurs se contentent de mettre à jour un attributs de la classe.

    Par contre la propriété est bien utilisée lorsque l'utilisateur demande à éditer la cellule (sûrement par un double clique). Dans ce cas, le code vérifie que la propriété est à true avant d'afficher le champ de saisie.

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

Discussions similaires

  1. [Quote] DVP quoté sur Bashfr
    Par Skyounet dans le forum La taverne du Club : Humour et divers
    Réponses: 16
    Dernier message: 26/09/2006, 18h52

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