Доброго времени суток, форумчане)
Необходимо написать приложение, работающее с сетью. Для этих целей решил использовать в приложении класс QNetworkAccessManager.
Для тестирования написал небольшую программку:
main.cpp
#include <QtGui/QApplication>
#include "mainForm.h"
int main(int argc, char *argv[]) {
// initialize resources, if needed
// Q_INIT_RESOURCE(resfile);
QApplication app(argc, argv);
// create and show your widgets here
mainForm *f=new mainForm;
f->show();
return app.exec();
}
#ifndef _MAINFORM_H
#define _MAINFORM_H
#include "ui_mainForm.h"
#include <QDebug>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QUrl>
class mainForm : public QDialog {
Q_OBJECT
public:
mainForm();
virtual ~mainForm();
private:
Ui::mainForm widget;
private slots:
void replyFinish(QNetworkReply*);
};
#endif /* _MAINFORM_H */
#include "mainForm.h"
mainForm::mainForm() {
widget.setupUi(this);
widget.textEdit->setReadOnly(true);
qDebug()<<"GO!";
QNetworkAccessManager *pManager = new QNetworkAccessManager(this);
connect(pManager,SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinish(QNetworkReply*)));
pManager->get(QNetworkRequest(QUrl("http://ya.ru")));
}
mainForm::~mainForm() {
}
void mainForm::replyFinish(QNetworkReply* rep){
qDebug()<<"DONE!";
}
QNetworkRequest request;
request.setUrl(QUrl("http://qt.nokia.com"));
request.setRawHeader("User-Agent", "MyOwnBrowser 1.0");
QNetworkReply *reply = manager->get(request);
connect(reply, SIGNAL(readyRead()), this, SLOT(slotReadyRead()));
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),
this, SLOT(slotError(QNetworkReply::NetworkError)));
connect(reply, SIGNAL(sslErrors(QList<QSslError>)),
this, SLOT(slotSslErrors(QList<QSslError>)));
У меня так же и пашет.
Про QT + = network не забыли?
Дико извиняюсь, на работе почему то не работало. Пришел домой-все хорошо)
vankleef, скорее всего полный ребилд всё исправил бы тогда
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)