Thanks for Your answers!
In my program there are now the header files (abbreviated)
class FileDownloader
: public QObject {
Q_OBJECT
public:
FileDownloader
(const QUrl &KUrl
);
virtual ~FileDownloader();
signals:
void downloaded();
void DataA(const QByteArray&);
public slots:
void fileDownloaded(QNetworkReply* pReply);
private:
QNetworkAccessManager m_WebCtrl;
};
class FileDownloader : public QObject
{
Q_OBJECT
public:
FileDownloader(const QUrl &KUrl);
virtual ~FileDownloader();
QByteArray downloadedData() const;
signals:
void downloaded();
void DataA(const QByteArray&);
public slots:
void fileDownloaded(QNetworkReply* pReply);
private:
QUrl kUrl;
QNetworkAccessManager m_WebCtrl;
QByteArray m_DownloadedData;
};
To copy to clipboard, switch view to plain text mode
{
Q_OBJECT
public:
mainWidget();
public slots:
protected:
private:
};
class mainWidget : public QWidget
{
Q_OBJECT
public:
mainWidget();
public slots:
void Receiver(const QByteArray &QBA);
protected:
void paintEvent(QPaintEvent *event);
private:
QByteArray A;
};
To copy to clipboard, switch view to plain text mode
and the source files
FileDownloader
::FileDownloader( const QUrl &KUrl
) : kUrl
(KUrl
) {
connect(&m_WebCtrl, SIGNAL(finished(QNetworkReply*)),
SLOT(fileDownloaded(QNetworkReply*)));
QNetworkRequest request(kUrl);
m_WebCtrl.get(request);
}
FileDownloader::~FileDownloader()
{
}
void FileDownloader::fileDownloaded(QNetworkReply* pReply)
{
m_DownloadedData = pReply->readAll();
pReply->deleteLater();
emit downloaded();
emit DataA(m_DownloadedData);
mainWidget *mW=new mainWidget();
connect(SIGNAL(DataA(const QByteArray&)),mW,
}
FileDownloader::FileDownloader( const QUrl &KUrl) : kUrl(KUrl)
{
connect(&m_WebCtrl, SIGNAL(finished(QNetworkReply*)),
SLOT(fileDownloaded(QNetworkReply*)));
QNetworkRequest request(kUrl);
m_WebCtrl.get(request);
}
FileDownloader::~FileDownloader()
{
}
void FileDownloader::fileDownloaded(QNetworkReply* pReply)
{
m_DownloadedData = pReply->readAll();
pReply->deleteLater();
emit downloaded();
emit DataA(m_DownloadedData);
mainWidget *mW=new mainWidget();
connect(SIGNAL(DataA(const QByteArray&)),mW,
SLOT(Receiver(const QByteArray &QBA)));
}
To copy to clipboard, switch view to plain text mode
mainWidget::mainWidget()
{
setWindowTitle ( "paintEvent - Demo");
resize( 1000, 400 );
}
painter.begin( this );
painter.
setPen( QPen(Qt
::black,
2) );
painter.drawEllipse( 40, 40, 100, 100 );
painter.
setPen( QPen(Qt
::green,
2) );
int u,z,x1,v1,ku,ku1;
for(int i=1;i<100;i++){
u=4*i;
x1=4*i+4;
ku=CloseAdj[i+2];
ku1=CloseAdj[i+3];
painter.drawLine(u,z,x1,v1);
}
}
A=QBA;
int j=0;
while(A[j]!='2')
{j++;
}
QVector<QString> days;
QVector<float> CloseAdj;
QVector<int> Volume;
for(int i=j;i<1100;i++)
qint32 volume_=0;
float Close=0;
for (int k=0;k<10;k++)
{day+=A[i+k];
}
i+=9;
while(A[i]!=',')
{//qDebug(" Problem bis Komma ");
i++;
}
while(A[i+1]!=',')
{i++;}
while(A[i+2]!=',')
{i++;}
while(A[i+3]!=',')
{i++;}
while(A[i+4]!=',')
{i++;}
while(A[i+5]!=',')
{volume+=A[i+5];
i++;
}
while(((A[i+6]>='0' && A[i+6]<='9') || A[i+6]== '.')&& !(A[i+6]=='2' && A[i+7]=='0' && A[i+8]<='1' && A[i+9]<='5') )
{CloseAd+=A[i+6];
i++;
}
i+=6;
Close=CloseAd.toFloat();
days.append(day);
CloseAdj.append(Close);
volume_=volume.toInt();
Volume.append(volume_);
}
for(int l=0;l<10;l++)
}
return;
}
mainWidget::mainWidget()
{
setWindowTitle ( "paintEvent - Demo");
resize( 1000, 400 );
}
void mainWidget::paintEvent ( QPaintEvent * event ) {
QPainter painter(this);
painter.begin( this );
painter.setPen( QPen(Qt::black, 2) );
painter.drawEllipse( 40, 40, 100, 100 );
painter.setPen( QPen(Qt::green, 2) );
int u,z,x1,v1,ku,ku1;
for(int i=1;i<100;i++){
u=4*i;
x1=4*i+4;
ku=CloseAdj[i+2];
ku1=CloseAdj[i+3];
painter.drawLine(u,z,x1,v1);
}
}
void mainWidget::Receiver(const QByteArray &QBA){
A=QBA;
int j=0;
while(A[j]!='2')
{j++;
}
QVector<QString> days;
QVector<float> CloseAdj;
QVector<int> Volume;
for(int i=j;i<1100;i++)
{QString day =" ";
QString volume = " ";
QString CloseAd =" ";
qint32 volume_=0;
float Close=0;
for (int k=0;k<10;k++)
{day+=A[i+k];
}
i+=9;
while(A[i]!=',')
{//qDebug(" Problem bis Komma ");
i++;
}
while(A[i+1]!=',')
{i++;}
while(A[i+2]!=',')
{i++;}
while(A[i+3]!=',')
{i++;}
while(A[i+4]!=',')
{i++;}
while(A[i+5]!=',')
{volume+=A[i+5];
i++;
}
while(((A[i+6]>='0' && A[i+6]<='9') || A[i+6]== '.')&& !(A[i+6]=='2' && A[i+7]=='0' && A[i+8]<='1' && A[i+9]<='5') )
{CloseAd+=A[i+6];
i++;
}
i+=6;
Close=CloseAd.toFloat();
days.append(day);
CloseAdj.append(Close);
volume_=volume.toInt();
Volume.append(volume_);
}
for(int l=0;l<10;l++)
{QString tag=days[l];
}
return;
}
To copy to clipboard, switch view to plain text mode
int main(int argc, char *argv[])
{
char separator, step='d',tags;
int startDay=20,startMonth=7,startYear=2014,endDay=17, endMonth=10,endYear=2014,sM,eM;
sM=startMonth-1;
eM=endMonth-1;
QUrl histUrl
(QString("http://ichart.finance.yahoo.com/table.csv?s=%1&a=%2&b=%3&c=%4&d=%5&e=%6&f=%7&g=step&y=0&ignore=.cvs").
arg(symbol
).
arg(sM
).
arg(startDay
).
arg(startYear
).
arg(eM
).
arg(endDay
).
arg(endYear
),
QUrl::TolerantMode);
mainWidget w;
w.show();
return a.exec();
}
int main(int argc, char *argv[])
{
QApplication a( argc, argv );
char separator, step='d',tags;
QString symbol="AAPL";
int startDay=20,startMonth=7,startYear=2014,endDay=17, endMonth=10,endYear=2014,sM,eM;
sM=startMonth-1;
eM=endMonth-1;
QUrl histUrl(QString("http://ichart.finance.yahoo.com/table.csv?s=%1&a=%2&b=%3&c=%4&d=%5&e=%6&f=%7&g=step&y=0&ignore=.cvs").arg(symbol).arg(sM).arg(startDay).arg(startYear).arg(eM).arg(endDay).arg(endYear),QUrl::TolerantMode);
mainWidget w;
w.show();
return a.exec();
}
To copy to clipboard, switch view to plain text mode
and I received the error message
Fehler:no matching function for call to 'FileDownloader::connect(const char [26], mainWidget*&, const char [33])'
Can somebody the necessary changes post?
Bookmarks