完成数据变化绘图
This commit is contained in:
69
customthread.cpp
Normal file
69
customthread.cpp
Normal file
@ -0,0 +1,69 @@
|
||||
#include "customthread.h"
|
||||
|
||||
CustomThread::CustomThread(QObject *parent)
|
||||
: QThread{parent} {}
|
||||
|
||||
void CustomThread::setValue(QVector<int> vector, QString string) {
|
||||
this->jd = vector;
|
||||
this->dataName = string;
|
||||
}
|
||||
|
||||
void CustomThread::run() {
|
||||
m_PlotView.clear();
|
||||
rule.clear();
|
||||
|
||||
for (int var = 0; var < 4; ++var) {
|
||||
xData[var].clear();
|
||||
yData[var].clear();
|
||||
}
|
||||
//判断右侧数据是否为数字型
|
||||
bool isEnum = namelist[dataName];
|
||||
int bytesRead = 0;
|
||||
for (int i = 0; i < jd.size(); ++i) {
|
||||
int X = 0;
|
||||
QString tem = "这是一个无实际作用的标识";
|
||||
for (int j = 0; j < g_param[jd[i]].size(); j++) {
|
||||
//更新进度条
|
||||
bytesRead++;
|
||||
emit setProgressBar(bytesRead);
|
||||
|
||||
QDateTime temTime = QDateTime::fromString(g_param[jd[i]][j]["时间"], "yyyy-MM-dd hh:mm:ss:zzz");
|
||||
if (temTime >= beginTime && temTime <= endTime) {
|
||||
if (g_param[jd[i]][j].contains(dataName)) {
|
||||
tem = g_param[jd[i]][j][dataName];
|
||||
} else {
|
||||
if (!isTime) {
|
||||
continue;
|
||||
}
|
||||
if (tem == "这是一个无实际作用的标识") {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (isTime) {
|
||||
xData[jd[i]].append(temTime.toMSecsSinceEpoch() / 1000.0);
|
||||
} else {
|
||||
xData[jd[i]].append(X++);
|
||||
}
|
||||
if (isEnum) {
|
||||
yData[jd[i]].append(tem.toDouble());
|
||||
} else {
|
||||
if (rule.contains(tem)) {
|
||||
yData[jd[i]].append(rule.indexOf(tem));
|
||||
} else {
|
||||
rule.append(tem);
|
||||
yData[jd[i]].append(rule.indexOf(tem));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
emit setPlotView(jd[i], isEnum, isTime);
|
||||
}
|
||||
|
||||
emit setWidget();
|
||||
quit();
|
||||
}
|
||||
|
||||
void CustomThread::setIsTime(bool IsTime) {
|
||||
CustomThread::isTime = IsTime;
|
||||
}
|
||||
|
Reference in New Issue
Block a user