[Qt] signal connected() avec une socket
Résolu
erwan
-
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 9813 Date d'inscription Statut Contributeur Dernière intervention -
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
- Fransat pas de signal ✓ - Forum TNT / Satellite / Réception
- Aucun signal pour le Satellite EUTELSAT à 5° Ouest ✓ - Forum TNT / Satellite / Réception
- Signal faible ou inexistant tv samsung ✓ - Forum TV & Vidéo
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.