16,798
社区成员




//MainWindow的.h中
private:
QTimer *timer;
int count;
int interval;
int interval_array[20];
//MainWindow构造函数中
int tmp = 200;
for(int i=0; i<20; i++)
{
interval_array[i]=tmp;
tmp+=50;
}
count=0;
interval = 200;
timer = new QTimer();
timer->start(interval);
connect(timer,SIGNAL(timeout()),this,SLOT(change()));
//槽函数
void MainWindow::change()
{
count ++;
if(count == 20)timer->stop();
interval=interval_array[count];
timer->setInterval(interval);
qDebug()<<QTime::currentTime().minute()<<":"<<QTime::currentTime().second()<<":"<<QTime::currentTime().msec();
}
for (int j = 0;j<micount; j++){
QString currentMI=list_MIresult[j];
float cMI=currentMI.toFloat();
if (cMI>=0.65){
if (interval<=1){
interval=1;
} else{
interval/=10;
//QDebug("\033[32mHello!");
std::cout<<"间隔时间是:"<<interval<<endl;
}
}else{
interval=3000;
}
}
timer->start(interval);
我改了一下,timer->start挪到for外面了。
原来timer->start在for里面,自然只有第一次start的interval有效。