Bonjour ( c'est encore moi :p )
Donc mon programme compile, mais il plante avant meme l'affichage des fenetres, à l'aide du débuggeur j'ai trouvé qu'il plante lors du listen du Qtcpserver.
J'ai essayer de regarder dans les exemples de la doc l'utilisation des sockets, mais je trouve vraiment pas ca trés clair, donc j'aimerai savoir si j'ai fais une erreur dans le code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #include <QWidget> #include <QPushButton> #include <QtNetwork> class ThGui : public QWidget { Q_OBJECT public: ThGui(QWidget *parent = 0); private slots: void beginProgram(); void closeProgram(); private: QPushButton *startB; QPushButton *stopB; QTcpServer *server; QTcpSocket *socket; };Merci d'avance (en espérant que ca soit la derniere fois que je vous embete)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 #include "ThGui.h" #include <QVBoxLayout> ThGui::ThGui(QWidget *parent) :QWidget(parent) { startB = new QPushButton(tr("&Start")); stopB = new QPushButton(tr("&Stop")); stopB->setEnabled(false); server->listen(QHostAddress::Any,27960); socket = server->nextPendingConnection(); connect(startB,SIGNAL(clicked()),this,SLOT(beginProgram())); connect(stopB,SIGNAL(clicked()),this,SLOT(closeProgram())); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addWidget(startB); mainLayout->addWidget(stopB); setLayout(mainLayout); } void ThGui::beginProgram() { socket->write("BEGIN"); startB->setEnabled(false); stopB->setEnabled(true); } void ThGui::closeProgram() { socket->write("ENDPROGRAM"); }
Partager