如何设置一个定时器?
1.启动定时器 Id=startTimer(1000) //定时1秒
2.关闭定时器 killTimer(Id) Id表示关闭哪个定时器
startTimerId= startTimer(1000); //startTimerId表示定时器的名称以示区别
//事件处理,定时时间到自动进入timerEvent程序
void Widget::timerEvent(QTimerEvent *event)
{
if(event->timerId()==startTimerId) //判断是否为此定时器
{
gameTime--;
ui->progressBar->setValue(gameTime); //设置进度条
if(gameTime==0)
{
killTimer(startTimerId); //关闭定时器
QMessageBox::warning(this,"tips","time is over!");
overTimerId=startTimer(5000); //倒计时5秒 启动另外一个定时器
}
}
else if(event->timerId()==overTimerId)
{
killTimer(overTimerId);
ui->textEdit->clear();
ui->stackedWidget->setCurrentWidget(ui->init_page); //切换显示页面
}
}
当多个事件发生需要执行相同操作时,可设置如下方式
QObject *obj=sender(); //自动识别哪个信号发送者
QPushButton *button=(QPushButton*)obj; //多个按键