Qt connect n'appel pas le slot
farcry165
-
loupius Messages postés 789 Statut Membre -
loupius Messages postés 789 Statut Membre -
Bonjour, j'ai un problème qui persiste avec mes QObject::connect, le slot n'est jamais appeler.
je voudrais que lorsque l'on clique sur le bouton bcorrection (qui est dans un fichier ui) un message d'information s'affiche, mais quand je clique sur le bouton rien ne ce passe.
j'ai simplifier mon code a l'extrême pour qu'il soit lisible et simple a comprendre.
merci d'avance pour votre aide.
fichier piscine.h:
fichier piscine.cpp:
je voudrais que lorsque l'on clique sur le bouton bcorrection (qui est dans un fichier ui) un message d'information s'affiche, mais quand je clique sur le bouton rien ne ce passe.
j'ai simplifier mon code a l'extrême pour qu'il soit lisible et simple a comprendre.
merci d'avance pour votre aide.
fichier piscine.h:
class piscine : public QWidget
{
Q_OBJECT
public slots:
int f_correction(QString reponce);
public:
piscine(QWidget *parent = 0);
private:
Ui::piscineui ui;
};
fichier piscine.cpp:
piscine::piscine(QWidget *parent) :
QWidget(parent)//,
{
Ui::piscineui ui;
ui.setupUi(this);
QObject::connect(ui.bcorrection, SIGNAL(clicked()),this, SLOT(f_correction()));
}
int piscine::f_correction(QString reponce)
{
int note;
QMessageBox::information(this, "note ",QString::number(note));
return note;
}
A voir également:
- Qt connect n'appel pas le slot
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Appel privé - Guide
- France connect - Guide
- Prix d'un appel local - Forum Vos droits sur internet
- Prix d'un appel local - Forum telephonie fixe
1 réponse
Il y a effectivement une grosse erreur (étourderie ?) dans ton programme !
Dans le constructeur tu déclares une variable locale dont le nom est 'ui'. Cette variable étant locale, elle sera perdue voire détruite à la fin du constructeur... si bien que la connexion au slot est perdue.
En fait cette déclaration est inutile ... il en existe une de même nom dans la déclaration de la classe.
Bonne continuation.
Dans le constructeur tu déclares une variable locale dont le nom est 'ui'. Cette variable étant locale, elle sera perdue voire détruite à la fin du constructeur... si bien que la connexion au slot est perdue.
En fait cette déclaration est inutile ... il en existe une de même nom dans la déclaration de la classe.
Bonne continuation.