(QT-UI)十三、通过定时器,实时更新时间轴

   本系列预计实现

①刻度上方文字显示,

②时间轴拖动效果,

③时间轴刻度缩放,

④时间轴和其他控件联动显示,

⑤鼠标放置到时间轴,显示具体时间。

⑥通过定时器,实时更新时间轴

⑦时间轴上绘制时间片

 完整代码可见GitHub - 754816/QT_TimeLine: qt时间轴实现效果

1、基础思路

使用QTimer创建一个定时器,设置为每0.5秒触发一次,获取当前的系统时间,并且显示到时间轴上,看起来就像是时间轴随着系统时间更新

2、代码实现

在头文件中,添加QTimer和全局变量m_Timer

#include <QTimer>
    
private:
    QTimer* m_Timer;

在源文件中,初始化,并且添加绑定槽函数,当设定时间间隔到期后,执行槽函数内的代码。最后通过start函数,启动定时器。

    m_Timer = new QTimer(this);
    connect(m_Timer, &QTimer::timeout, this, [=](){
        //获取当前系统时间
        QDateTime curDateTime = QDateTime::currentDateTime();
        //更新时间
        ui->widget->SetDateTime(curDateTime);
    });
    //设置启动间隔为500毫秒,即0.5秒
    m_Timer->start(500);
    m_Timer->stop;

当需要停止的时候,调用stop函数即可,后续只需要不断的start(500)和stop即可定时触发效果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值