2014-06-21 3 views
-2

Je reçois l'erreur ~ mainwindow.cpp: 9: erreur: redéfinition de 'MainWindow :: MainWindow (QWidget *)' MainWindow :: MainWindow (parent QWidget *): et je suis assez sûr qu'il se plaint du mauvais nom de la classe dérivée. La classe de base est MainWindow mais je ne vois pas ce que serait la classe dérivée.manquant la classe dérivée avec QObject

//mainwindow.cpp

#include "mainwindow.h" 
#include "ui_mainwindow.h" 
#include <QNetworkAccessManager> 
#include <QUrl> 
#include <QNetworkRequest> 
#include <QNetworkReply> 
#include <QImageReader> 

MainWindow::MainWindow(QWidget *parent) : 
    QMainWindow(parent), 
    ui(new Ui::MainWindow) 
{ 
    ui->setupUi(this); 
} 

MainWindow::~MainWindow() 
{ 
    delete ui; 
} 

void coreEng::requestPage(){ 
    QUrl url("http://www.nyctelecomm.com"); 
    QNetworkReply* reply = nam->get(QNetworkRequest(url)); 
} 

void coreEng::finishedSlot(QNetworkReply* reply){ 

    QVariant statusCodeV = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute); 

    QVariant redirectionTargetUrl = reply->attribute(QNetworkRequest::RedirectionTargetAttribute); 

    if (reply->error() == QNetworkReply::NoError) 
    { 

     QImageReader imageReader(reply); 
     QImage pic = imageReader.read(); 

     QByteArray bytes = reply->readAll(); // bytes 
     QString string(bytes); // string 
    } 

    else 
    { 

    } 

// delete reply(); 

} 

void MainWindow::on_lcdNumber_overflow() 
{ 

    QByteArray replyData = netReply->readAll(); 
} 

void MainWindow::on_pushButton_clicked() 
{ 
    QObject::on_pushButton_clicked(nam, SIGNAL(finished(QNetworkReply*)), 
    this, SLOT(finishedSlot(QNetworkReply*))); 
} 

//mainwindow.h

#ifndef MAINWINDOW_H 
#define MAINWINDOW_H 

#include <QMainWindow> 
#include <QObject> 
#include <QNetworkAccessManager> 

namespace Ui { 
class MainWindow; 
} 

class MainWindow : public QMainWindow 
{ 
    Q_OBJECT 

public: 
    explicit MainWindow(QWidget *parent = 0): 
    QMainWindow(parent) 
     { 
      nam = new QNetworkAccessManager(); 
     } 
    ~MainWindow(); 

private: 
    Ui::MainWindow *ui; 

public slots: 
    //void connect(); 
    void on_pushButton_clicked(); 
    void requestPage(); 
    void finishedSlot(QNetworkReply* reply); 
private slots: 
    void on_lcdNumber_overflow(); 

private: 
    QNetworkAccessManager* nam; 

}; 

#endif // MAINWINDOW_H 

//main.cpp

#include "mainwindow.h" 
#include <QApplication> 

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 

    MainWindow mConnect; 
    mConnect.on_pushButton_clicked(); 
    mConnect.requestPage(); 

    MainWindow w; 
    w.show(); 

    return a.exec(); 
} 

Répondre

0

Vous avez défini deux fois MainWindow::MainWindow. D'abord dans le fichier d'en-tête et ensuite dans le fichier source. Cela est dit dans le message d'erreur.

explicit MainWindow(QWidget *parent = 0): 
QMainWindow(parent) 
    { 
     nam = new QNetworkAccessManager(); 
    } 

//

MainWindow::MainWindow(QWidget *parent) : 
    QMainWindow(parent), 
    ui(new Ui::MainWindow) 
{ 
    ui->setupUi(this); 
} 
+0

Merci !!!!!! – brad

Questions connexes