[Qt] signal connected() avec une socket
Résolu
erwan
-
Char Snipeur Messages postés 10112 Statut Contributeur -
Char Snipeur Messages postés 10112 Statut Contributeur -
bonjour
j'essaie d'afficher dans un label l'état de ma socket et pour cela j'utilise le signal connected() que l'on trouve dans QAbstractSocket mais il y'a une erreur quelqu'un aurait une idée qui pourrait m'aider ?
merci
voila le code
j'essaie d'afficher dans un label l'état de ma socket et pour cela j'utilise le signal connected() que l'on trouve dans QAbstractSocket mais il y'a une erreur quelqu'un aurait une idée qui pourrait m'aider ?
merci
voila le code
void MainWindow::etat() //affiche l'état de la socket
{
if(soc.state()==QAbstractSocket::connected())
{
ui->labeletat->setText("connecté");
}
if(soc.state()==QAbstractSocket::disconnected())
{
ui->labeletat->setText("déconnecté");
}
}
A voir également:
- [Qt] signal connected() avec une socket
- Pas de signal tv - Guide
- Signal cable not connected - Forum Ecran
- Signal faible ou inexistant tv samsung ✓ - Forum TV & Vidéo
- Fransat pas de signal ✓ - Forum TNT / Satellite / Réception
- Check signal cable ✓ - Forum Windows
1 réponse
Bonjour,
c'est normal, ce que tu appel est un signal et ne retourne rien !
http://developer.qt.nokia.com/doc/qt-4.8/QAbstractSocket.html
visiblement tu ne sais pas utiliser les signaux.
Ce que je ferais, tu mets ton label à "deconnecter" par défaut, puis dans le constructeur de MainWindow:
ensuite, tu définis ainsi :
Ce qui te permettra en plus d'avoir plusieurs états.
c'est normal, ce que tu appel est un signal et ne retourne rien !
http://developer.qt.nokia.com/doc/qt-4.8/QAbstractSocket.html
visiblement tu ne sais pas utiliser les signaux.
Ce que je ferais, tu mets ton label à "deconnecter" par défaut, puis dans le constructeur de MainWindow:
connect(soc,SIGNAL(connected()),MainWindow,SLOT(etat()) );attention à la syntaxe, je fais de mémoire, il faut peut être inversé les deux (cf. doc)
ensuite, tu définis ainsi :
void MainWindow::etat() //affiche l'état de la socket
{
ui->labeletat->setText("connecté");
}
Ou, si tu veux savoir si tu es deconnecter à chaque instant, tu passes un paramètre à etat et tu connectes le signal stateChanged à la place de connected.
Ce qui te permettra en plus d'avoir plusieurs états.