1.创建定时器,定时刷新数据
// 创建定时器
QTimer *timer = new QTimer(this);
// 启动定时器
// timer->start(800);
// connect(timer, &QTimer::timeout, this, &WAVEdisplay::sui);//波形定时器刷新函数
2.与定时器关联的槽函数
void WAVEdisplay::sui()
{QVector<double> newWaveVec(1280); // 创建一个包含10个元素的QVector<double>对象
QVector<double> newWaveVec1(1280);
QVector<double> newWaveVec2(1280);
QVector<double> newWaveVec3(1280);
QVector<double> newWaveVec4(1280);
QVector<double> newWaveVec5(1280);
QVector<double> newWaveVec6(1280);
QVector<double> newWaveVec7(1280);
QVector<double> newWaveVec8(1280);
QVector<double> newWaveVec9(1280);
QVector<double> newWaveVec10(1280);
QVector<double> newWaveVec11(1280);
QVector<double> newWaveVec12(1280);
QVector<double> newWaveVec13(1280);
QVector<double> newWaveVec14(1280);
// QVector<double> newWaveVec[0]; // 创建一个包含10个元素的QVector<double>对象
const int numSamples = 1280;
const int numChannels = 16;
const double frequency = 9.0; // 正弦波的频率
const double amplitude = 13.0; // 正弦波的振幅
// 给newWaveVec赋随机值
for (int i = 0; i < newWaveVec.size(); ++i) {
double value = amplitude * sin(2 * M_PI * frequency * static_cast<double>(i) / static_cast<double>(numSamples));
double value1 = 7 * sin(2 * M_PI * frequency * static_cast<double>(i) / static_cast<double>(numSamples));
double value2 = 8 * sin(2 * M_PI * frequency * static_cast<double>(i) / static_cast<double>(numSamples));
double value3 = 9 * sin(2 * M_PI * frequency * static_cast<double>(i) / static_cast<double>(numSamples));
double value4 = 3 * sin(2 * M_PI * frequency * static_cast<double>(i) / static_cast<double>(numSamples));
double value5 = 2 * sin(2 * M_PI * frequency * static_cast<double>(i) / static_cast<double>(numSamples));
double value6 = 5 * sin(2 * M_PI * frequency * static_cast<double>(i) / static_cast<double>(numSamples));
double value7 = 6 * sin(2 * M_PI * frequency * static_cast<double>(i) / static_cast<double>(numSamples));
double value8 = 10 * sin(2 * M_PI * frequency * static_cast<double>(i) / static_cast<double>(numSamples));
double value9 = 11 * sin(2 * M_PI * frequency * static_cast<double>(i) / static_cast<double>(numSamples));
double value10 = 12 * sin(2 * M_PI * frequency * static_cast<double>(i) / static_cast<double>(numSamples));
double value11 = 13 * sin(2 * M_PI * frequency * static_cast<double>(i) / static_cast<double>(numSamples));
double value12 = 14 * sin(2 * M_PI * frequency * static_cast<double>(i) / static_cast<double>(numSamples));
double value13 = 15 * sin(2 * M_PI * frequency * static_cast<double>(i) / static_cast<double>(numSamples));newWaveVec[i] = value; // 生成范围在0到100之间的随机数
newWaveVec1[i]= value1;
newWaveVec2[i] =value2;
newWaveVec3[i]= value3;
newWaveVec4[i] =value4;
newWaveVec5[i]= value5;
newWaveVec6[i]= value6;
newWaveVec7[i] =value7;
newWaveVec8[i]= value8;
newWaveVec9[i] =value9;
newWaveVec10[i]= value10;
newWaveVec11[i]= value11;
newWaveVec12[i] =value12;
newWaveVec13[i]= value13;
}
EthernetCommunicate::waveVec[0]=newWaveVec;
EthernetCommunicate::waveVec[1]=newWaveVec1;
EthernetCommunicate::waveVec[2]=newWaveVec2;
EthernetCommunicate::waveVec[3]=newWaveVec3;
EthernetCommunicate::waveVec[4]=newWaveVec4;
EthernetCommunicate::waveVec[5]=newWaveVec5;
EthernetCommunicate::waveVec[6]=newWaveVec6;
EthernetCommunicate::waveVec[7]=newWaveVec7;
EthernetCommunicate::waveVec[8]=newWaveVec8;
EthernetCommunicate::waveVec[9]=newWaveVec9;
EthernetCommunicate::waveVec[10] =newWaveVec10;
EthernetCommunicate::waveVec[11] =newWaveVec11;
EthernetCommunicate::waveVec[12] =newWaveVec12;
EthernetCommunicate::waveVec[13] =newWaveVec13;
map.insert("U1",EthernetCommunicate::waveVec[0]);
map.insert("I1", EthernetCommunicate::waveVec[1]);
map.insert("U2", EthernetCommunicate::waveVec[2]);
map.insert("I2", EthernetCommunicate::waveVec[3]);
map.insert("U3", EthernetCommunicate::waveVec[4]);
map.insert("I3", EthernetCommunicate::waveVec[5]);
map.insert("U4", EthernetCommunicate::waveVec[6]);
map.insert("I4", EthernetCommunicate::waveVec[7]);
map.insert("U5", EthernetCommunicate::waveVec[8]);
map.insert("I5", EthernetCommunicate::waveVec[9]);
map.insert("U6", EthernetCommunicate::waveVec[10]);
map.insert("I6", EthernetCommunicate::waveVec[11]);
map.insert("U7", EthernetCommunicate::waveVec[12]);
map.insert("I7", EthernetCommunicate::waveVec[13]);
for(int i=1;i<wavelow_1.size();i++)
{
lownum=wavelow_1.at(i);
// if(lownum!=nullptr && lownum!="OFF")
// {
QVector<double> arrX(1280);
for (int k = 0; k < 1280; k++) {
arrX[k] = k;
// key++;
}
QVector<double> waveformData = map.value(lownum);
qDebug()<<"waveforDAta----:"<<waveformData.length();ui->wavefrom->graph(i-1)->setData(arrX,waveformData);
// }
}
ui->wavefrom->replot();}