-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdataloader.cpp
More file actions
70 lines (59 loc) · 1.51 KB
/
Copy pathdataloader.cpp
File metadata and controls
70 lines (59 loc) · 1.51 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include "dataloader.h"
#include "mainwindow.h"
#include <QFile>
#include <QTextStream>
#include <QDebug>
DataLoader::DataLoader(MainWindow *window, QString fileName) :
mWindow(window),
mFileName(fileName)
{
}
void DataLoader::doWork()
{
qDebug() << "in dowork";
QFile file(mFileName);
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
{
qDebug() << "文件打开失败!";
return;
}
QTextStream in(&file);
mWindow->mSeries1->clear();
mWindow->mSeries2->clear();
mWindow->mSeries3->clear();
mWindow->mXminF = 10000.0f;
mWindow->mXmaxF = 0.0f;
mWindow->mYminF = 10000.0f;
mWindow->mYmaxF = 0.0f;
QString content = in.readAll();
QStringList contentList = content.split('\n');
for (int i=1; i<contentList.count()-1; i++)
{
QString line = contentList.at(i);
QStringList strData = line.split(',');
float x = strData[0].toFloat();
float y = strData[1].toFloat();
QPointF p((qreal) x, (qreal) y);
mWindow->mSeries1->append(p);
mWindow->mSeries2->append(p);
if (x < mWindow->mXminF)
{
mWindow->mXminF = x;
}
if (x > mWindow->mXmaxF)
{
mWindow->mXmaxF = x;
}
if (y < mWindow->mYminF)
{
mWindow->mYminF = y;
}
if (y > mWindow->mYmaxF)
{
mWindow->mYmaxF = y;
mWindow->mXToMaxYF = x;
}
}
file.close();
emit finished();
}