自定义时间轴

本文介绍了一种自定义时间轴的实现,包括动作图元、事件图元和时间轴图元等组成部分,详细阐述了各部分的功能。同时,列出了如添加时间片、设置当前时间、初始化时间轴等关键接口。此外,提供了源码下载链接,便于读者进一步研究和应用。
摘要由CSDN通过智能技术生成

仅作为思路参考
自定义时间轴主要分为一下几个部分:

  • 动作图元:主要是用来显示动作片,例如下图中的 蓝色 或 浅蓝色 部分,每一个代表一个动作图元
  • 事件图元:主要是用来显示事件类型,下图中的变道下的黑色背景为一个事件图元
  • 事件文本图元:用来标注后面的背景为哪一种事件,和 事件图元成对出现,当移动进度条时可以一直保持在左侧显示
  • 文件结束标志图元:主要用来标明,文件截止到那个时间
  • 时间轴图元:主要显示当前时间刻度
  • 当前时间位置图元:显示当前运行到那个时间位置了

自定义时间轴控件中主要有以下接口:

// 手动添加时间片
void addAction(const QString &qstrName, const QString &qstrFilePath, qlonglong qllStartTime, qlonglong qllEndTime = 0);

// 初始化时时间片
void addAction(const QString &qstrFilePath, const QString &qstrCategory, const QString &qstrName, qlonglong qllStartTime, qlonglong qllEndTime = 0);

 // 添加事件和事件文字
void addEvent(const QString &qstrName);

// 获取当前进度条时间 并计算时间指针位置 和 更新手动时间片时间
void setCurTime(qlonglong qllCurTime = 0, const QString &qstrCurFilePath = "");

// 设置总时间长度并计算,并初始化界面相关数据
void setCountTimeLength();

// 保存每个文件的开始时间和结束时间
void setStartEndTime(int iIndex, const QString &qstrFilePath, qlonglong qllStartTime, qlonglong qllEndTime);

// 删除所有时间片
void delAllActionItem();

// 删除所有事件和事件文字 item
void delAllEventItem();

// 删除所有文件的结束标志item
void delAllFileEndItem();

// 清空所有的item
void clearItem();

// 初始化所有的item
void resetItem();

// 设置所有时间片item的使能(可用和不可用状态)
void setItemEnable(bool bIsEnable);

在这里插入图片描述
源码下载地址: 时间片源码

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值