[LCP] qt td3

Voir le sujet précédent Voir le sujet suivant Aller en bas

[LCP] qt td3

Message  Florent le Mer 29 Fév 2012, 19:03

Bonsoir,

Je suis en train de faire le td3 et j'ai un soucy avec la fonction connect quand il faut afficher un message d'aide,

J'ai ajoute une QAction

Code:

QAction *action_Aide;
action_Aide = new QAction(JeuDuPenduClass);
action_Aide->setObjectName(QString::fromUtf8("action_Aide"));

que j'ai rajouté au menu_bar:

Code:

menubar->addAction(action_Aide);

avec un connect:

Code:

void JeuDuPendu::creerAction(){
        ...
        ...
   connect(ui.action_Aide, SIGNAL(triggered(bool)), qApp, SLOT(aide()));
}

void JeuDuPendu::aide() {
   QMessageBox::information(const_cast<JeuDuPendu *>(this), "Warning", "Aide");
}

Pourtant lorsque je compile, tout se passe bien mais quand je clique dessus rien ne se passe, pourtant la fonction quit() du menu Jeu, Quitter fonctionne bien

Merci de votre aide



Florent

Nombre de messages : 93
Prénom : Florent
Date d'inscription : 02/02/2010

Revenir en haut Aller en bas

Re: [LCP] qt td3

Message  iCart le Mer 29 Fév 2012, 21:34

Selon la documentation le signal et le slot doivent avoir la même signature.
Qt a tendance a ne pas lever d'exceptions quand un connect ne se fait pas, mais tu peux le forcer à t'afficher les erreurs en rajoutant (si mes souvenirs sont bons) au .pro ceci :
Code:
CONFIG += debug
CONFIG += console

iCart

Nombre de messages : 58
Age : 27
Prénom : Sylvain
Statut : Echappé 2013
Date d'inscription : 09/12/2009

Revenir en haut Aller en bas

Re: [LCP] qt td3

Message  smb le Mer 29 Fév 2012, 22:15

Florent a écrit:
Code:

QAction *action_Aide;
action_Aide = new QAction(JeuDuPenduClass);

...

connect(ui.action_Aide, SIGNAL(triggered(bool)), qApp, SLOT(aide()));

Je vois 2 problèmes :
Tu crées une action dynamiquement, action_Aide et tu connectes ui.action_Aide, ... bizarre ... pourquoi ui. ?
Le slot aide() n'est pas dans qApp, mais dans JeuDuPendu

Et comme le signale bien iCart, en mettant dans le .pro

CONFIG += console

... un message clair indique le problème !

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

Re: [LCP] qt td3

Message  Florent le Jeu 01 Mar 2012, 16:38

En effet, merci du conseil pour le debug ça peut servir,

Même sur les feuilles il est préciser désolé du dérangement et merci

Ça fonctionne pourtant j'utilise ui. pour aller chercher mon action_aide tout comme les autres Qaction ?

Florent

Nombre de messages : 93
Prénom : Florent
Date d'inscription : 02/02/2010

Revenir en haut Aller en bas

Re: [LCP] qt td3

Message  smb le Jeu 01 Mar 2012, 16:53

Florent a écrit:En effet, merci du conseil pour le debug ça peut servir,

Même sur les feuilles il est préciser désolé du dérangement et merci

Ça fonctionne pourtant j'utilise ui. pour aller chercher mon action_aide tout comme les autres Qaction ?

A mon avis, tu as utilisé le Qt Designer Editor pour ajouter une action Aide au menu de la fenêtre principale, qui a pris le nom action_Aide, et donc ui.action_Aide

Faudrait voir ton projet complet.

Question

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

Re: [LCP] qt td3

Message  Florent le Jeu 01 Mar 2012, 17:00

Oui la première fois j'ai procédé de cette manière mais j'ai remarqué, que quand on modifiait quelque chose depuis le .ui le .h était aussi remis à jour en supprimant les modifications que j'avais faites donc je l'ai rajouté manuellement

Je viens de retester en faisant un nouvelle action, elle apparaît quand on tape ui->

Florent

Nombre de messages : 93
Prénom : Florent
Date d'inscription : 02/02/2010

Revenir en haut Aller en bas

Re: [LCP] qt td3

Message  smb le Jeu 01 Mar 2012, 21:47

Florent a écrit:Oui la première fois j'ai procédé de cette manière mais j'ai remarqué, que quand on modifiait quelque chose depuis le .ui le .h était aussi remis à jour en supprimant les modifications que j'avais faites donc je l'ai rajouté manuellement

Je viens de retester en faisant un nouvelle action, elle apparaît quand on tape ui->

ui->

alors là, j'en suis tout ébaubi !

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

Re: [LCP] qt td3

Message  neciO le Lun 05 Mar 2012, 15:05

Florent a écrit:... quand on modifiait quelque chose depuis le .ui le .h était aussi remis à jour en supprimant les modifications que j'avais faites donc je l'ai rajouté manuellement.

J'ai aussi ce soucis, quelqu'un a une solution ?

neciO

Nombre de messages : 28
Age : 28
Prénom : Juan Carlos
Statut : Etudiant 2e Réseaux
Date d'inscription : 19/10/2010

Revenir en haut Aller en bas

Re: [LCP] qt td3

Message  smb le Lun 05 Mar 2012, 16:02

neciO a écrit:
Florent a écrit:... quand on modifiait quelque chose depuis le .ui le .h était aussi remis à jour en supprimant les modifications que j'avais faites donc je l'ai rajouté manuellement.

J'ai aussi ce soucis, quelqu'un a une solution ?

Quel soucis, quel problème ?

En fait, je crois que ce n'est pas nécessairement une bonne idée de modifier le .h que le Qt Designer modifie de lui-même !

smb

Nombre de messages : 1035
Age : 64
Prénom : Stéphan
Statut : Don de sang, don de vie!
Localisation : Spy
Date d'inscription : 23/01/2007

Revenir en haut Aller en bas

Re: [LCP] qt td3

Message  Florent le Lun 05 Mar 2012, 16:47

Il faut soit tout faire dans le qtdesigner ou bien dans le .h.

Florent

Nombre de messages : 93
Prénom : Florent
Date d'inscription : 02/02/2010

Revenir en haut Aller en bas

Re: [LCP] qt td3

Message  Contenu sponsorisé Aujourd'hui à 12:33


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


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