Qt 实现定时器 QTimer 代码

//定时器
QTimer *fTimer=new QTimer(this);
fTimer->setTimerType(Qt::PreciseTimer); // 3.设置定时器对象精确度模式
fTimer->stop();
fTimer->setInterval(1000) ;//设置定时周期
connect(fTimer,SIGNAL(timeout()),this,SLOT(on_timer_timeout()));


// 点击按钮 启动定时器
onOff_btn = new QPushButton();
onOff_btn ->setStyleSheet("background-image:url(:/img/stop.png);background-position:center;background-repeat:no-repeat;background-color: rgb(225, 225, 225);border-radius:2px;");
onOff_btn ->setFixedSize(QSize(30,20));
connect(onOff_btn, SIGNAL(clicked()), this, SLOT(on_btnStart_clicked()));


//.h
private slots:
    void on_timer_timeout () ; //定时溢出处理槽函数
    void on_btnStart_clicked();

private :
bool isOnOff = false;

//.cpp
void WidgetTrackDetailsTimeline::on_btnStart_clicked()
{
    if(isOnOff) {
        fTimer->stop () ; //定时器停止  暂停
        isOnOff = false;
//        onOff_btn->setText("开");
        onOff_btn->setStyleSheet("background-image:url(:/img/suspend.png);background-position:center;background-repeat:no-repeat;background-color: rgb(225, 225, 225);border-radius:2px;");

    } else {
        fTimer->start () ;//定时器开始工作  播放
        isOnOff = true;
//        onOff_btn->setText("关");
        onOff_btn->setStyleSheet("background-image:url(:/img/play.png);background-position:center;background-repeat:no-repeat;background-color: rgb(225, 225, 225);border-radius:2px;");
    }

}



void WidgetTrackDetailsTimeline::on_timer_timeout()
{
//    qDebug() << "on_timer_timeout 定时移动1 像素 ";
    Indicator->slot_set_xPos(Indicator->x() + 1);

}


 点击播放 定时器开始,游标线移动

  点击暂停 定时器结束,游标线移动停止

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值