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

PyQt Python Discussion :

[QTreeView] Édition du modèle par l'utilisateur [QtGui]


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Jazz_
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 290
    Par défaut [QTreeView] Édition du modèle par l'utilisateur
    Bonjour,

    C'est assez compliqué a expliquer alors je met des images, ce que je cherche c'est savoir quand mon utilisateur modifie les infos d'affichage du qtreeview :

    ca c'est mon treeview:


    si je clique sur une des lignes, de base je peut modifier son contenu:



    mais je ne sais pas comment comment intercepter cet evenement.

    Voila merci d'avance.

    Cordialement,

  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,

    Si les items sont des QStandardItem, vous pourriez s/classer et surcharger la méthode setData(*) qui est appelée lorsque l'utilisateur a modifié le texte (si cela est permis).
    (*) revoir le post sur "selectionChanged" pour le comment.

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

  3. #3
    Membre éclairé Avatar de Jazz_
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 290
    Par défaut
    Merci pour la réponse,

    du coup j'ai fait cela:

    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
    class BaliseXml(QStandardItem):
        XmlTag = str()
        XmlText = str()
        XmlAttrib = {}
     
        def __init__(self, tag, text, attrib):
            QStandardItem.__init__(self)
            self.setData(tag, Qt.DisplayRole)
            self.XmlTag = tag
            self.XmlText = text
            self.XmlAttrib = attrib
     
        def setData(self, *args, **kwds):
            print ('setdata')
            super(QStandardItem, self).setData(*args, **kwds)
    mais j'ai droit au message d'erreur :

    super(QStandardItem, self).setData(*args, **kwds)
    AttributeError: 'super' object has no attribute 'setData'
    est ce que cela signifie que la fonction setData ne peut etre surchargée ?

  4. #4
    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,

    super(QStandardItem, self).setData va chercher la méthode .setData dans les classes parentes de QStandardItem... et non dans les parents de BaliseXmlC

    Ce n'est pas ce que vous voulez!
    Pire, comme .setData n'a pas de raison d'être définie dans les parents de QStandardItem, çà rale...


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

  5. #5
    Membre éclairé Avatar de Jazz_
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 290
    Par défaut
    Ah d'accord je n'avais pas bien compris comment s'utilisais super!

    du coup j'ai modifié QStandardItem par BaliseXml ca fonctionne !

    Merci beaucoup !

  6. #6
    Membre éclairé Avatar de Jazz_
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2010
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 290
    Par défaut
    Une derniere question, meme si mon probleme semble resolu,

    dans le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        def setData(self, *args, **kwds):
            print "setdata"
            super(BaliseXml, self).setData(*args, **kwds)

    J'ai copié et modifié ce code apartir de l'autre discution, mais je n'ai pas bien compris a quoi servent les caractere "*" ?

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

Discussions similaires

  1. [OL-2007] Champs définis par l'utilisateur dans modèle
    Par Ceddoc dans le forum Outlook
    Réponses: 0
    Dernier message: 18/02/2014, 14h45
  2. Modéle Fiche poste utilisateur généré par l'AD
    Par Mika2008 dans le forum Windows
    Réponses: 1
    Dernier message: 08/01/2010, 15h45
  3. Réponses: 6
    Dernier message: 07/07/2004, 08h28
  4. Réponses: 10
    Dernier message: 18/11/2003, 18h01
  5. Fonctions définies par l'utilisateur
    Par DiGueDao dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 25/06/2003, 11h17

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