0
点赞
收藏
分享

微信扫一扫

Qt两种定时器

weipeng2k 2024-01-30 阅读 20

QT 中使用定时器,有两种方式:

  • 定时器类:QTimer
  • 定时器事件:QEvent::Timer,对应的子类是 QTimerEvent

简单讲一下两种用法:

QTimer:

QTimer 需要创建QTimer对象
  然后需要给定时器绑定 定时器超时的槽函数,也就是时间到了,该做什么
 一般用按钮控制定时器,所以跟按钮关联的槽函数一般里面有start,stop就是控制定时器的
 这样通过按钮点击之后,调用里面Qtimer的start,因为外面绑定了定时器超时槽函数,所以
 定时器到时间了就会调用超时槽函数,完成业务逻辑

QTimerEvent:

 需要重写void QObject::timerEvent(QTimerEvent *event)
 当定时时间到的时候会自动调用timerEvent
 用timerId可以获取哪个定时器的id
 startTimer()可以设置定时器时间间隔 ms
 killTimer停止定时器
对于 QTimerEvent不用重写定时器超时函数并且再手动绑定,QTimerEvent他会自动调用timerEvent,该函数将自动在使用startTimer函数启动的定时器到期时被调用,所以只需要重写这个就行

下面举一个案例:看看实际项目中怎么用

这有一个定时器任务的页面,无ui的,手撕代码去写


举报

相关推荐

0 条评论