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

Discussion :

Slot pour redessiner un QGraphicsScene

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut Slot pour redessiner un QGraphicsScene
    Bonjour,

    J'ai un signal qui appelle le slot d'une classe Scene dérivée de QGraphicsScene qui est chargé de redessiner la scène.

    J'ai donc essayé le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    void Scene::effacerScene()
    {
        this->clear();
     
        for(int i=0;i<this->getListeCroix()->getListeCroix().size();i++)
        {
            qDebug("test");
        }
    }
    Le clear() semble effacer la scène sans détruire les items qui la compose. Seulement, quand j'essaie ensuite de faire une boucle sur les items pour les redessiner dans la scène par un addItem() (à la place du test qDebug()), j'ai une belle erreur qui apparaît (capture ci-dessous).

    Je ne comprends pas bien cette erreur. Avez-vous une idée ?

    Merci !
    Images attachées Images attachées  

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 84
    Par défaut
    void QGraphicsScene::clear () [slot]
    Removes and deletes all items from the scene, but otherwise leaves the state of the scene unchanged.

    Tu essai d'itérer sur une liste vide? Essaie un qDebug de la taille avant d'essayer d'itérer. Si elle est vide alors il est normal que le programme plante.

  3. #3
    Membre éclairé
    Avatar de betsprite
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    472
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 472
    Par défaut
    Bonsoir,

    Oui en fait c'était vraiment une erreur bète ^^

    Cependant, j'aurais une autre question pas forcément en rapport avec ce post mais, bien qu'à sa disparition, la scène détruit tous les items la composant, est ce que je dois créer un destructeur pour ma scène pour détruire avec delete les attributs qu'elle possède ?

    Merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/04/2012, 22h58
  2. Les slots pour un débutant
    Par sybe30 dans le forum Débuter
    Réponses: 15
    Dernier message: 29/06/2011, 11h41
  3. Réponses: 3
    Dernier message: 22/01/2011, 23h55
  4. [débutant] Utiliser un slot pour griser un bouton
    Par azerty_essai dans le forum Qt
    Réponses: 3
    Dernier message: 23/03/2009, 15h51
  5. Utiliser un Timer pour redessiner une fenêtre
    Par blueLight dans le forum Interfaces Graphiques en Java
    Réponses: 1
    Dernier message: 07/11/2008, 21h12

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