| Problème d'affichage |
chev69

Grade : Membre accepté
Inscrit le: 29 Juin 2011, 14:09
|
| Ecrit le: 11 Juillet 2011, 21:44 Message non corrigé | |
|
Bonsoir,
Je suis en train de faire un menu pour un jeu avec Qt, en faite je demande d'abord au joueurs si il veut jouer seul ou à 2.
- Si il répond 1 joueur j'affiche un menu pour qu'il choisisse le niveau de difficulté (affichage dans la même fenêtre).
-Si il choisit 2 joueurs j'ouvre une nouvelle fenêtre et ferme celle là.
Mon problème est que si il choisit 1 joueur le menu n'apparait pas mais si il choisit 2 joueurs tout marche bien.
voila le code de la fonction:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | void MaFenetre::joueur() { if (m_joueur1->isChecked()) {
m_niveau1 = new QRadioButton("Facile", this); m_niveau1->setToolTip("De 1 à 100"); m_niveau1->setChecked(true);
m_niveau2 = new QRadioButton("Moyen", this); //Les niveaux m_niveau2->setToolTip("De 1 à 1000");
m_niveau3 = new QRadioButton("Difficile", this); m_niveau3->setToolTip("De 1 à 10 000");
m_groupe2 = new QGroupBox("Niveau de difficulté", this);
m_layout2 = new QHBoxLayout; m_layout2->addWidget(m_niveau1); m_layout2->addWidget(m_niveau2); m_layout2->addWidget(m_niveau3);
m_groupe2->setLayout(m_layout2); m_groupe2->move(100, 100); m_jouer = new QPushButton("Jouer", this);
} else if (m_joueur2->isChecked()) { Joueurs2 *jeu = new Joueurs2; // ouvre page pour jouer a 2 (Joueur2.cpp) jeu->show(); this->close(); } else { QLabel *messageErreur1 = new QLabel("Vous devez cocher au moins une case.", this); messageErreur1->move(50,50); } } |
|
|
| |
|
|
David

Grade : Expert
Inscrit le: 11 Mai 2005, 20:30
|
| Ecrit le: 11 Juillet 2011, 23:29 Message non corrigé | |
|
La première partie de ta fonction n'est pas très belle. Essai de faire plutôt comme la deuxième : court, découpé, noms clairs. Je suis conscient que faire de l'IHM propre n'est pas évident.
Après une lecture attentive de ton programme, j’aurais tendance à dire qu'il est bon. Mais ça fait longtemps que je n'ai pas réutilisé Qt. J'ai perdu en aisance.
Essai de mettre ceci :
| m_groupe2 = new QGroupBox("Niveau de difficulté", this); m_layout2 = new QHBoxLayout(this); // Ajout du this m_layout2->addWidget(m_niveau1); m_layout2->addWidget(m_niveau2); m_layout2->addWidget(m_niveau3); m_groupe2->setLayout(m_layout2); m_groupe2->move(100, 100); m_jouer = new QPushButton("Jouer", this); |
Perso j’aurai fait ceci, mais sans être sur à 100%.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | { m_groupe2 = new QGroupBox("Niveau de difficulté", this); m_niveau1 = new QRadioButton("Facile", this); m_niveau1->setText("De 1 à 100"); m_niveau1->setChecked(true); m_niveau2 = new QRadioButton("Moyen", this); //Les niveaux m_niveau2->setText("De 1 à 1000"); m_niveau3 = new QRadioButton("Difficile", this); m_niveau3->setToolTip("De 1 à 10 000"); m_jouer = new QPushButton("Jouer", this); m_layout2 = new QHBoxLayout(m_groupe2); m_layout2->addWidget(m_niveau1); m_layout2->addWidget(m_niveau2); m_layout2->addWidget(m_niveau3); m_layout2->addWidget(m_jouer); m_groupe2->setLayout(m_layout2); m_groupe2->move(100, 100); m_groupe2->show(); } |
Ce code pourra te donner des idées.
Si tu blocs, envoi moi ton projet et j'y jetterai un œil. Ce soir je n'ai pas trop de temps.
________ Apprenez à créer votre propre FPS en C++ avec OpenGL. C'est pas dur ! :-)
|
|
| |
|
|
chev69

Grade : Membre accepté
Inscrit le: 29 Juin 2011, 14:09
|
| Ecrit le: 12 Juillet 2011, 20:34 Message non corrigé | |
|
J'ai un problème avec le logiciel Qt au niveau de la compilation, tout marche bien est d'un seul coup il ne veux plus compilé et me sort cette erreur:
Exécution des étapes de compilation pour le projet jeu...
Configuration inchangée, étape QMake sautée.
Impossible de démarrer le processus "mingw32-make.exe"
Erreur à la compilation du projet mystere (cible : Desktop)
Lors de l'exécution de l'étape 'Make'
J'ai redémarré mon pc mais ça change rien. c'est déjà la 2eme fois que ça me me le fait, la première fois j'ai désinstallé Qt puis je l'ai re-téléchargé, ça a marché pour 5-6 compilation et hop une nouvelle fois cette erreur.
Quelqu'un aurai une solution ?
|
|
| |
|
| |