1、多线程程序使用QThread::sleep()或者QThread::msleep()或QThread::usleep()或QThread::wait()进行延时处理。
2、自定义延时函数:使用QEventLoop。
3、使用QElapsedTimer。
4、创建子事件循环,在子事件循环中,父事件循环仍然是可执行的。
QTime timetime.start()
while(time.elapsed()>=spinBoxGap->value()*1000)
// 从此段代码可以看出,你是想设定一个时间间隔,执行一次循环time.elapsed(),但是你此处的time未设置间隔。具体设置好像直接start(1000)就可以了,1000单位是毫秒。,即每分钟循环执行1次。
// 给你推荐个方法采用QTimer(定时器)
timer = new QTimer()
// 设置定时器执行间隔
timer->setInterval(spinBoxGap->currentText().toInt() * 1000)
// 然后连接槽函数,执行相关 *** 作即可
connect(timer, SIGNAL(timeout()), this, SLLOT(whatyoudo()))
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)