Ceibxl
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-40%
Le deal à ne pas rater :
-40% sur le Pack Gaming Mario PDP Manette filaire + Casque filaire ...
29.99 € 49.99 €
Voir le deal

CPP - Démineur

5 participants

Page 1 sur 2 1, 2  Suivant

Aller en bas

CPP - Démineur Empty CPP - Démineur

Message par Sardine Dim 11 Avr - 22:03

Après m'être cassé la tête maintes fois sur comment savoir quelle case/parcelle était cliquée afin de la découvrir/marquer, j'ai trouvé la solution et je vous en fait part Very Happy

Au début je pensais dériver QPushButton (ou peu importe) et d'y ajouter la ligne et la colonne, mais, c'était lourd.
Il se trouve que Qt vient avec une solution built-in

Mais dans Qt il y a QSignalMapper, qui permet d'envoyer des informations supplémentaires.

Y a un petit exemple ici.

My 2 cents.
Sardine
Sardine

Nombre de messages : 3703
Age : 33
Cercle : CEI
Année Baptême : 2008
Date d'inscription : 04/10/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Sarko Dim 11 Avr - 22:15

Tu trouve vraiments ca lourd une classe qui derive de QPushButton ?
Sarko
Sarko

Nombre de messages : 2134
Age : 36
Cercle : CEI tapette ²
Année Baptême : 2006
Date d'inscription : 10/07/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Sardine Dim 11 Avr - 22:58

Ouais, car il faut redéfinir le constructeur de copie, l'assignation, et surement d'autres trucs Very Happy
Du moins dans ce que j'avais fait j'étais obligé de le faire...
Sardine
Sardine

Nombre de messages : 3703
Age : 33
Cercle : CEI
Année Baptême : 2008
Date d'inscription : 04/10/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Sarko Lun 12 Avr - 7:57

ok vais regardé ton truc car j'ai des soucis avec ma classe qui dérive de QPushButton (Qd je fais un ->setIcon() de ma classe ça work pas, alors que quand je le fais sur un QPushButton normal ca work)


Et je met un lien en + qui est un peu plus claire que la doc pour faire ce qu'on doit faire


http://qt-quarterly.developpez.com/qq-10/signalmapper/
Sarko
Sarko

Nombre de messages : 2134
Age : 36
Cercle : CEI tapette ²
Année Baptême : 2006
Date d'inscription : 10/07/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Joker Lun 12 Avr - 11:14

Pourquoi d'un besoin d'une constructeur par recopie ? oO
fin bon, moi j'ia fais comme t'a dit plus haut ca tourne deja bien donc je reste sur mon idéee ^^

j'utilise la méthode sender() même si c'est pas le plus optimale, c'est amplement suffisant pour la façon dont je l'implemente Wink
Joker
Joker

Nombre de messages : 5294
Age : 33
Cercle : CEI
Année Baptême : 2008
Date d'inscription : 28/09/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Sarko Lun 12 Avr - 11:18

Bon, mon mapper fonctionne ^^

J'utilise une liste de QPushButton *

Et quand je clique sur un bouton, ma methode clickedButton(int )
me renvoit bien sur quel pos il a cliqué ^^

Le truc c'est que je vais devoir changé ma list je pense en
list <QPushButton *, Parcelle>

Sinon ... bah je peu pas la remplir de Parcelle :P
Sarko
Sarko

Nombre de messages : 2134
Age : 36
Cercle : CEI tapette ²
Année Baptême : 2006
Date d'inscription : 10/07/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Sarko Lun 12 Avr - 11:19

Fiot ramene ton cul sur msn pour me dire comment ta reglé le truc que QT reconnait pas STL :P
Sarko
Sarko

Nombre de messages : 2134
Age : 36
Cercle : CEI tapette ²
Année Baptême : 2006
Date d'inscription : 10/07/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Sardine Lun 12 Avr - 12:20

C'est expliqué dans le td3.. Faut rajouter un répertoire dans les propriétés
Sardine
Sardine

Nombre de messages : 3703
Age : 33
Cercle : CEI
Année Baptême : 2008
Date d'inscription : 04/10/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Sarko Lun 12 Avr - 13:15

Ué je l'avais fait mais ca fonctionnais pas, mais la comme par magie apres avoir bouffé ca fonctionnais donc bon ...
Sarko
Sarko

Nombre de messages : 2134
Age : 36
Cercle : CEI tapette ²
Année Baptême : 2006
Date d'inscription : 10/07/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Sarko Lun 12 Avr - 13:48

Bon ben retour a zero ... eclipse c'est vraiment de la merde, il me reconnait plus mon vector
Sarko
Sarko

Nombre de messages : 2134
Age : 36
Cercle : CEI tapette ²
Année Baptême : 2006
Date d'inscription : 10/07/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par dax Lun 12 Avr - 14:02

c'est psychologik Very Happy

clic droit > disable workspace resolution
dax
dax

Nombre de messages : 2257
Age : 40
Cercle : CEI
Année Baptême : 2005
Date d'inscription : 29/07/2008

http://www.noobeek.com

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Nicki Mar 13 Avr - 18:05

tite couille en mode graphique,

j arrive pas a include la lib demineur dans mon qt gui project :s

help
Nicki
Nicki

Nombre de messages : 3696
Age : 36
Cercle : CEI
Année Baptême : 2007
Date d'inscription : 14/07/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Sardine Mar 13 Avr - 18:17

T'as bien rajouté une ligne LIBS += ... dans le .pro ? (c'est expliqué dans le pdf plus précisèment comment faire - voire aussi dans l'énoncé du pendu)
Sardine
Sardine

Nombre de messages : 3703
Age : 33
Cercle : CEI
Année Baptême : 2008
Date d'inscription : 04/10/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Nicki Mar 13 Avr - 18:47

ca doit etre ca
Nicki
Nicki

Nombre de messages : 3696
Age : 36
Cercle : CEI
Année Baptême : 2007
Date d'inscription : 14/07/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Sarko Mar 13 Avr - 19:18

au pire tien la ligne a foutre inside ton pro

INCLUDEPATH += .
LIBS += ./lib/libdemineur_win32.a

(avec biensu un dossier qui s'apelle lib, dans laquelle tu met libDemineur ... )
Sarko
Sarko

Nombre de messages : 2134
Age : 36
Cercle : CEI tapette ²
Année Baptême : 2006
Date d'inscription : 10/07/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Nicki Mar 13 Avr - 20:27

putin j suis une prout mais jvois pas hein ou jdois foutre cette merde :s j crois que j suis trop mort today :s
Nicki
Nicki

Nombre de messages : 3696
Age : 36
Cercle : CEI
Année Baptême : 2007
Date d'inscription : 14/07/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Sardine Mar 13 Avr - 20:42

T'as un fichier qui s'appelle <ton projet>.pro, tu le fous dedans Very Happy
Sardine
Sardine

Nombre de messages : 3703
Age : 33
Cercle : CEI
Année Baptême : 2008
Date d'inscription : 04/10/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Nicki Sam 17 Avr - 16:30

QString texte;
texte.setNum(monDemineur->getMine());
mine->setText(texte);
hLayout->addWidget(mine);

ca ca plante... pourquoi? j arrive pas a foutre me label bordel de merde
Nicki
Nicki

Nombre de messages : 3696
Age : 36
Cercle : CEI
Année Baptême : 2007
Date d'inscription : 14/07/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Nicki Sam 17 Avr - 16:37

enfaite des que j ajoute a Qlabel a mon hLayout, que je met dans un vLayout , ca plante.

Hors je fais pareil avec des QPushButton ca marche
Nicki
Nicki

Nombre de messages : 3696
Age : 36
Cercle : CEI
Année Baptême : 2007
Date d'inscription : 14/07/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Sardine Sam 17 Avr - 17:07

Tu sais filer un code d'exemple ?
Sardine
Sardine

Nombre de messages : 3703
Age : 33
Cercle : CEI
Année Baptême : 2008
Date d'inscription : 04/10/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Nicki Sam 17 Avr - 17:10

Code:
   monDemineur = demineur;
   vector<vector<Parcelle> > terrain;
   terrain=monDemineur->getTerrain();
   int taille = monDemineur->getColonne() * monDemineur->getLigne();
   QPushButton* tab[taille];

   QVBoxLayout* vLayout= new QVBoxLayout;
   QHBoxLayout* dLayout = new QHBoxLayout;
   
   int pos = 0;
   for (vector<vector<Parcelle> >::iterator it = terrain.begin(); it!= terrain.end(); ++it) {
      QHBoxLayout* hLayout = new QHBoxLayout;
      for (vector<Parcelle>::iterator it2 = it->begin(); it2 != it->end(); ++it2) {
         tab[pos]=new QPushButton("");
         hLayout->addWidget(tab[pos]);
      }
      vLayout->addLayout(hLayout);
   }


   QString texte;

   //texte.setNum(monDemineur->getTempsEcoule());
   //temps->setText(texte);
   //hLayout->addWidget(temps);

   /*texte.setNum(monDemineur->getMine());
   mine->setText(texte);
   hLayout->addWidget(mine);*/

   this->setLayout(vLayout);
   this->show();

dès que je decommente ca plante, jherite de QWidget
Nicki
Nicki

Nombre de messages : 3696
Age : 36
Cercle : CEI
Année Baptême : 2007
Date d'inscription : 14/07/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Sardine Sam 17 Avr - 17:19

Ton hLayout est interne au for, ça serait pas ça ?
Et idéalement, tes layout tu devrais les mettre comme attribut de la classe, sinon ils seront détruits directement (je crois Razz)
Sardine
Sardine

Nombre de messages : 3703
Age : 33
Cercle : CEI
Année Baptême : 2008
Date d'inscription : 04/10/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Joker Sam 17 Avr - 17:29

Ils ne sont detruit que lors du delete norm Smile ce sont pas des objets automatiques mais restons prudent
^^ j'ai utilisé un gridLayout dans lequel j'ajoute un horizontal
pour les infos etc..

Declare un layout horizontal "infos" par Ex. Smile vu que celui là tu es sur qu'il est tt seul Smile
Une fois ajouter a ton Vertical layout, je pense qu'il se delete avec le vertical mais restons prudent
Joker
Joker

Nombre de messages : 5294
Age : 33
Cercle : CEI
Année Baptême : 2008
Date d'inscription : 28/09/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Nicki Dim 18 Avr - 15:12

quand tu fais new, c est supprimer lors d un delete et pas en sortie de boucle.

j'ai fais des testes ou je fou tout en commentaire et j met juste un label , ca plante. j cherche a raison psq j ai deja utiliser des labels ailleurs sans probleme.
Nicki
Nicki

Nombre de messages : 3696
Age : 36
Cercle : CEI
Année Baptême : 2007
Date d'inscription : 14/07/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Nicki Dim 18 Avr - 15:42

Bon j calcine a mort !

Y a aps une bonne âme qui veut bien m filer le classe demineurOBS que j'avance plz. psq la elle m enerve j bloque depuis 2jours sur le meme truc.

J'arrive a avoir une fenetre pleine de bouton, crée dynamiquement en fonction de mon jeu demineur mais ca plante au label, j pige pas.

Ca me bloque pour le reste cette merde help
Nicki
Nicki

Nombre de messages : 3696
Age : 36
Cercle : CEI
Année Baptême : 2007
Date d'inscription : 14/07/2008

Revenir en haut Aller en bas

CPP - Démineur Empty Re: CPP - Démineur

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 1 sur 2 1, 2  Suivant

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum