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 :

Items dans QGraphicsScene


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Items dans QGraphicsScene
    Bonjour,

    je suis en train d'utiliser un qgraphicscene dans lequel j'ajoute des commandes (type lignes, textes etc...) via des clics de souris sur ma scene.

    j'aimerais supprimer quelques items en fonction de leurs caractéristiques (genre effacer les items qui ont une épaisseur de trait de "x", ou une longueur particulière...)

    Mon problème c'est que je n'arrive pas à trouver (dans la doc) les appels me permettant de checker les propriétés de tous mes items.

    ci dessous, le code que j'utilise pour lister le type d'items présent dans ma scene:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            for item in self.scene.items():
                type_item_selectionne=str(type(item))
                print(type_item_selectionne)
    Ce code est donc capable de me lister tous les "types" d'items qui sont présent dans ma scene en me renvoyant des infos du genre:
    "<class 'PyQt5.QtWidgets.QGraphicsLineItem'>" lorsque l'item correspondant à l'ittération est un item faisant suite à un "addLine"

    Je n'arrive pas à trouver un moyen de rentrer un peu dans le détail de l'item selectionné... pour savoir si c'est bien celui là que je veux supprimer... je cherche quelque chose qui pourrait s'apparenter à : item.width?, item.pen()?...

    Avez vous des idées?

    merci,

  2. #2
    Invité
    Invité(e)
    Par défaut réponse toute bête
    j'ai finalement trouvé un moyen de contourner mon problème... (d'une manière toute bête)

    tout simplement en donnant un nom à chaque item crée...

    via la ligne suivante (pour la création):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.ligne1=self.scene.addLine(pos.x(),self.epaisseur_trait,pos.x(),tailley,self.pen)
    puis la ligne de suppression (sans passer par une boucle de scan de tous les items):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.scene.removeItem(self.ligne1)

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

Discussions similaires

  1. Sélection d'items dans QGraphicsScene
    Par Christophe dans le forum Débuter
    Réponses: 4
    Dernier message: 11/09/2013, 19h58
  2. [système] Comment ajouter un item dans le context menu de Windows ?
    Par ddmicrolog dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 29/06/2005, 17h03
  3. changer le texte de tous les Items dans un mainmenu
    Par C.M dans le forum Composants VCL
    Réponses: 7
    Dernier message: 25/07/2004, 13h19
  4. Suppression d'item dans une arborescence
    Par jonzuzu dans le forum MFC
    Réponses: 2
    Dernier message: 24/02/2004, 17h45
  5. Réponses: 2
    Dernier message: 17/08/2003, 20h07

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