DSCAnalysisTool/src/ui/centralwidget.cpp

65 lines
3.7 KiB
C++
Raw Normal View History

2025-03-06 09:31:55 +00:00
<EFBFBD><EFBFBD>#include <QHBoxLayout>
#include <QRandomGenerator>
#include "centralwidget.h"
CentralWidget::CentralWidget(QWidget *parent)
:QWidget(parent),
_customPlot(new QCustomPlot)
{
setStyleSheet("background-color: lightgray;");
resize(888,666);
QHBoxLayout *layout = new QHBoxLayout();
layout->addWidget(_customPlot);
this->setLayout(layout);
//R<EFBFBD>^;u^,<EFBFBD><EFBFBD>n;u^
N<EFBFBD>v<EFBFBD>ppenc
_customPlot->addGraph();
#if 0
// init data
QVector<double> x(101), y(101);
for (int i = 0; i < 101; i++) {
x[i] = i / 50.0 - 1;//<EFBFBD><EFBFBD>nx<EFBFBD>v<EFBFBD><EFBFBD>V:N-1~1
y[i] = x[i] * x[i];
}
_customPlot->graph(0)->setData(x, y);
//<EFBFBD><EFBFBD>nPWht<EFBFBD>h~{
_customPlot->xAxis->setLabel("x coordinates");
_customPlot->yAxis->setLabel("y coordinates");
//<EFBFBD><EFBFBD>nPWht<EFBFBD><EFBFBD><EFBFBD>V <EFBFBD><EFBFBD>N<EFBFBD>Ob<EFBFBD>N<EFBFBD>S<EFBFBD>N w0RhQ<EFBFBD><EFBFBD>penc
_customPlot->xAxis->setRange(0, 1);
_customPlot->yAxis->setRange(0, 100);
_customPlot->replot();
#endif
startTimer(1000);
}
void CentralWidget::timerEvent(QTimerEvent* event)
{
//key<EFBFBD>vUSMO/f<EFBFBD>y
double key = QDateTime::currentDateTime().toMSecsSinceEpoch() / 1000.0;
//<EFBFBD>m<EFBFBD>Rpenc
//O(u<EFBFBD><EFBFBD>:gpe<EFBFBD>NuNag<EFBFBD>f<EFBFBD>~
//double value0 = realDataI();
double value0 = QRandomGenerator::global()->bounded(10.123);
_customPlot->graph(0)->addData(key, value0);//<EFBFBD>m<EFBFBD>Rpenc0R<EFBFBD>f<EFBFBD>~
// Rd<EFBFBD>8<EFBFBD>yKNMR<EFBFBD>vpenc0ُ̑<EFBFBD>v8<EFBFBD><EFBFBD><EFBFBD>T Nb<EFBFBD><EFBFBD><EFBFBD>n*jPWh<EFBFBD>[<EFBFBD>^<EFBFBD>v8M<EFBFBD>Tw<EFBFBD>eg
//Mb<EFBFBD><EFBFBD>w<EFBFBD>0R<EFBFBD>`<EFBFBD><EFBFBD><EFBFBD>vHe<EFBFBD>g <EFBFBD><EFBFBD>S<EFBFBD>N<EFBFBD>teُ$N*N<P <EFBFBD>‰<EFBFBD>[>f:y<EFBFBD>vHe<EFBFBD>g0
_customPlot->graph(0)->data()->remove(key - 80);
//R<EFBFBD><EFBFBD><EFBFBD>[graph(1)<EFBFBD>f<EFBFBD>~yt<EFBFBD><EFBFBD>v<EFBFBD><EFBFBD>V <EFBFBD><EFBFBD>Y<EFBFBD>g N<EFBFBD><EFBFBD><EFBFBD>[ <EFBFBD> g<EFBFBD>S<EFBFBD><EFBFBD> w N0R<EFBFBD>V<EFBFBD>P
//_N<EFBFBD>S<EFBFBD>N(uui->customPlot->yAxis->setRange(up,low)Kb<EFBFBD>R<EFBFBD><EFBFBD><EFBFBD>[yt<EFBFBD><EFBFBD><EFBFBD>V
_customPlot->graph(0)->rescaleValueAxis(true);
//ُ̑<EFBFBD>v8 <EFBFBD>/fc*jPWh<EFBFBD>e<EFBFBD><EFBFBD><EFBFBD>[<EFBFBD>^:N8<EFBFBD>y <EFBFBD><EFBFBD>Y<EFBFBD>g<EFBFBD>`<EFBFBD><EFBFBD>*jPWh>f:y<EFBFBD>fY<EFBFBD>v<EFBFBD>e<EFBFBD><EFBFBD>
//1\<EFBFBD>b8<EFBFBD>te:N<EFBFBD>k<EFBFBD><EFBFBD>'Y0R<P <EFBFBD><EFBFBD>k<EFBFBD>Y<EFBFBD><EFBFBD>>f:y60<EFBFBD>y <EFBFBD><EFBFBD><EFBFBD>1\9eb600
//ُ<EFBFBD>eremoveDataBefore(key-8)-N<EFBFBD>v8_N<EFBFBD><EFBFBD>9eb60 <EFBFBD>&TR<EFBFBD>f<EFBFBD>~>f:y N<EFBFBD>[te0
_customPlot->yAxis->setRange(0,20);//<EFBFBD><EFBFBD><EFBFBD>[xt<EFBFBD><EFBFBD>v<EFBFBD><EFBFBD>V
_customPlot->xAxis->setRange(key + 0.25, 80, Qt::AlignRight);//<EFBFBD><EFBFBD><EFBFBD>[xt<EFBFBD><EFBFBD>v<EFBFBD><EFBFBD>V
_customPlot->replot();
}