Files
ReadLog/customtime.cpp

58 lines
1.8 KiB
C++
Raw Normal View History

2024-09-18 15:04:38 +08:00
#include "customtime.h"
CustomTimeThread::CustomTimeThread(QObject *parent)
: QThread{parent} {}
void CustomTimeThread::setValue(QVector<int> vector, QString string) {
this->jd = vector;
this->dataName = string;
}
void CustomTimeThread::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) {
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 (tem == "这是一个无实际作用的标识") {
continue;
}
}
xData[jd[i]].append(temTime.toMSecsSinceEpoch() / 1000.0);
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, true);
}
emit setWidget();
quit();
}