begin process at 2012 02 13 13:44:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Linux

 > 

GUI

 > 

[Qt] supprimer tous les QSvgWidget d'un vector


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

[Qt] supprimer tous les QSvgWidget d'un vector

jeudi 11 mars 2010 à 23:51:59 | [Qt] supprimer tous les QSvgWidget d'un vector

Slyken

Bonjour,
je suis en train de programmer un tetris en utilisant Qt, mais je bloque actuellement sur un petit problème.
J'ai une fonction updateGraphics() appelée à chaque seconde qui va se charger d'insérer dans un vector des QSvgWidget et les placer au bon endroit suivant un tableau d'entier.
Le problème c'est que je n'arrive pas à supprimer les QSvgWidget déjà dans mon vector, ce qui cause deux problèmes :
- quand je modifie la taille de ma fenêtre les nouveaux blocs s'affichent au bon endroit à la bonne dimension mais ceux précédemment créés ne s'effacent pas,
- vu que rien n'est supprimé, de plus en plus de QSvgWidget sont dessinés, ce qui ralenti fortement le programme.

Voilà le code (j'ai supprimé quelques passages mais à part ce problème de suppression, tout marche très bien) :
Code C/C++ :
void Board::updateGraphics() {
   //quelques essais, mais rien ne marche...
   for(int i=0 ; i<blocksBoardQSvg.size() ; i++)
      delete blocksBoardQSvg[i];
   blocksBoardQSvg.clear();

   for(int i=0 ; i<=21 ; i++)
      for(int j=0 ; j<=9 ; j++)
         if(blocksBoard[j][i]!=0) {
            blocksBoardQSvg.push_back(new QSvgWidget("pictures/grey.svg", this));
            blocksBoardQSvg.back()->show();
            blocksBoardQSvg.back()->resize(blockSize, blockSize);
            blocksBoardQSvg.back()->move(blockSize*j, blockSize*i);
         }
}


Donc comment faire pour supprimer ces QSvgWidget ?
Merci.
mardi 6 avril 2010 à 12:27:26 | Re : [Qt] supprimer tous les QSvgWidget d'un vector

pop70

La classe QVector (ou vector) possède deux fonctions:

.pop_back() : à l'inverse de push_back() il supprime le dernier élement du vecteur.
.remove(int index) : supprime un élément à une position du vecteur (index).

donc essaie blocksBoardQSvg->pop_back() (ou remove() si ce n'est pas le dernier qu'il faut supprimer).


Pop70


Cette discussion est classée dans : supprimer, qt, vector, qsvgwidget, blocksize


Répondre à ce message

Sujets en rapport avec ce message

Vector Erase : problème [ par Clonk ] Bonjour,Voilà mon problème, j'utilise un vector pour gérer des aretes d'une figure géométrique, à un moment, je veux supprimer certains éléments dans Méthodes de la classe vector en C++ [ par Rom1PL ] Bonjour,J'aurais deux petites questions au sujet des méthodes de la classe vector en C++.1) J'utilise la fonction erase pour supprimer un élément de m bouton parcourir [ par naddoush ] salut tout le monde, je suis entrain de developper une application Qt sous mandriva. entenant compte que je suis debutante en qt, j'ai rencontrer plu vector.h [ par youma85 ] salut bein je suis débutant en stl et j'ai eu ce code j'arrive pas à comprendre ce qu'il fait merci#include #include #include using namespace std;<br affichage image [ par ribh ] salut tous le monde, je suis debutante avec qt(je tavaille avec qt3 sous mandriva) comment afficher une image qui se trouve dans un repertoire sous c: héritage d'une template classe comme vector [ par Urukai1 ] bonjourje suis un newbie en cpp, et j'ai fait beaucoup de javaje souhaite faire une classe qui herite par exemple de la classe vector avec template,le Qt serial port [ par bhytr ] salut, je travaille avec qt sous linux. mon probleme consiste à envoyer une liste de commmandes qui se trouvent dans un QTextEdit dans mon interface à Qt : empecher la fermeture de la fenetre [ par goulou77 ] Bonjour à tous !Je pratique le c++ depuis pas longtemps et viens de commencer Qt et je voulais savoir comment on pezut faire pour empecher la fermetur [QT] lien avec un programme C++ [ par sylar42 ] Bonjour, Je n'ai pas réussi a trouver la réponse pourtant mon probleme est simple. J'ai un programme c++ assez complexe, et je veux juste faire une pe petit souci sur mpi [ par diable007 ] bonjour,j'ai besoin d'envoyé une matrice en MPI,je travaille avec c++ et les vector >Ma_matrice;comment je peux envoyer ça directement au lieu de fa


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,796 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales